day2-列表
列表是Python最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作
1、定义列表
names = [] #定义空列表 names = ['a','b','c'] #定义一个非空列表
2、访问列表中的元素
>>> names = ['a','b','c'] >>> names[0] 'a' >>> names[1] 'b' >>> names[2] 'c' >>> names[-1]#倒着取最后一个值 'c'
注:列表的下标值是从0开始取值的
3、切片
>>> names = ['a','b','c','d'] >>> names[1:3] #取1到3之间的元素,包括1,不包括3 ['b', 'c'] >>> names[1:-1] #取1到-1之间的元素,包括1,不包括-1 ['b', 'c'] >>> names[0:3] ['a', 'b', 'c'] >>> names[:3] #从头开始取,0可以省略,效果等同于names[0:3] ['a', 'b', 'c'] >>> names[3:] #想取到最后一个值,必须不能写-1,只能这么写 ['d'] >>> names[0::2] #后面的2表示:每隔一个元素就取一个 ['a', 'c'] >>> names[::2] #从头开始0可以省略,效果跟上一句一样 ['a', 'c']
切片小结:
①序列始终都是从左向右切片的,不能是从右向左
①列表切片时,起始位的元素是包括的,结束位的元素是不包括(又叫顾头不顾尾),最后一个位置表示步长(names[开始位:结束位:步长])
②如果从0位置取值,0可以省略
③想取最后一个值时,结束位不能是-1,因为结束位的元素不包括,所以只能留空
4、追加(append(元素))
>>> names = ['a','b','c','d'] >>> names.append('e') >>> names ['a', 'b', 'c', 'd', 'e']#e是新加的元素
5、插入(insert(下标值,插入的内容))
>>> names = ['a','b','c','d'] >>> names.insert(0,'1') #0表示需要插入的下标值,'1'表示插入的内容 >>> names ['1', 'a', 'b', 'c', 'd'] #在下标值为0的地方插入'1'
6、修改
>>> names = ['a','b','c','d'] >>> names[1] = '1' >>> names ['a', '1', 'c', 'd']
注:修改列表中的元素,直接是 names[下标值] = 新值
7、拷贝(copy())
>>> names = ['a','b','c','d'] >>> names2 = names.copy() >>> names2 ['a', 'b', 'c', 'd']
注:这边的copy都是浅copy,只能copy第一层。深浅拷贝的详细信息:猛击这里
8、删除(del、remove(元素)、pop())
#根据下标值删除元素 >>> names = ['a','b','c','d'] >>> del names[0] >>> names ['b', 'c', 'd'] #根据元素删除 >>> names = ['a','b','c','d'] >>> names.remove('a') >>> names ['b', 'c', 'd'] #删除最后一个 >>> names = ['a','b','c','d'] >>> names.pop() 'd' >>> names ['a', 'b', 'c']
注:
①如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的
>>> names = ['a','b','c','d'] >>> names.pop(1) #在输入下标值得情况下和del的效果是一样的 'b' >>> names ['a', 'c', 'd']
②del关键字不仅可以删除列表中的元素,也可以删除变量
names = ['a','b','c','d'] #删除names这个变量 del names
9、扩展(extend)
>>> names1 = ['a','b','c','d'] >>> names2 = [1,2,3,4] >>> names1.extend(names2) >>> names1 ['a', 'b', 'c', 'd', 1, 2, 3, 4]
注:names2的列表合并到names1中,但是,names2这个列表依然存在,如果想删除names2这个变量,则只需del names2即可
10、统计(count(元素))
>>> names = ['a','b','c','d','a'] >>> names.count('a') #统计'a'元素的个数 2
11、翻转(reverse())
>>> names = ['a','b','c','d'] >>> names.reverse() >>> names ['d', 'c', 'b', 'a'] #将整个列表翻转过来
12、排序(sort())
>>> names = [4,2,3,1] >>> names.sort() >>> names [1, 2, 3, 4]
13、获取下标值(index(元素))
>>> names = ['a','b','c','d'] >>> names.index('a') 0
14、清空列表(clear())
>>> names = ['a','b','c','d'] >>> names.clear() >>> names []