1、切片:
①.顾头不顾尾,从头开始取,但不包括最后一个。
②.从左向右数为正,从零开始,从右开始为负,从-1开始
如:
names=['1','2','3']
ames[-1]与names[2]效果相同
③.冒号左边没有数字时,表示从0开始;右边没有数字时,表示一直取到最后一个元素。
如:
names=['1','2','3']
names[0:2]与names[:2]效果相同
names[-2:] 表示从又数第二个元素一直取到最后一个元素。
④.可以通过列表名[*:$:&] 实现跳跃式切片 *,$分别表示开始结束的下标,&表示步长。
如:print(names[0:-1:2]) 表示从第一位开始到倒数第二位,每两个位输出一位
2、追加/插入/修改:
①列表名.append('***') 该方法默认追加到最后一位
②列表名.insert(下标,'***') 该方法可将想添加的元素插入想要的位置
③列表名[下标]='***' 直接将想要修改的值赋值给该位置
3、删除:
①列表名.remove('***')
②del 列表名/列表名[下标] 直接删除整个列表/删除特定下标位置的元素
③列表名.pop(默认值/下标) 删除最后一位的元素/删除特定下标位置的元素 4、查找:
**.index('***') 该方法将返回所查询的元素的下标
5、计数:
**.count('***') 该方法将返回所查元素在列表中的数目
6、反转:
**.reverse() 该方法将列表中的元素倒置
7、排序:
**.sort() 该方法将对列表进行排序,排序规则按照字符串首个字符在ASCII码中的顺序进行排列
8、扩展:
**.extend() 该方法可以队列表进行扩展,也可以利用该方法将两个列表进行合并
9、清空:
**.clear() 该方法可以把列表清空,返回None
10、复制:
①浅copy:
Ⅰ.**.copy() Ⅱ.列表名2=列表名1[:] Ⅲ.import copy 列表名2=copy.copy(列表名1) Ⅳ.列表名2=list(列表名1)
仅仅复制列表中第一层,若原列表中含有子列表,则复制的是子列表的地址
复制完成后,若改动第一层的元素,复制所得的列表不会变化;
但子列表若改变的话,复制所得列表中的子列表也会随之变化.反之,改动复制所得列表中的子列表,原列表中的子列表也会发生变化
注意:列表不能使用将一个列表赋值给另一个列表进行复制,这样会导致复制列表指向原列表的地址;
果原列表产生变化,则复制的列表也会发生变化。
浅copy可以用来创建联合账号。可分别对复制所得列表第一层更改,且改动其中一个列表中的子列表中的数据,另外一个列表也会发生变化
②深copy:
import copy 列表名2=copy.deepcopy(列表名1)
该方法可以完全复制列表,且不会因为原列表的变化而发生变化(子列表也不会发生变化)。
#!-*- coding:utf-8 -*-
# Author:Steve
import copy names=['Steve','Jack','Jim','Stone','Person']
print(names,end='//')
print(names[1:4],end='//')#切片,顾头不顾尾,从头开始取,但不包括最后一个。
#print(names[1:])
print(names[3],end='//')#从左向右数为正,从零开始,从右开始为负,从-1开始
#print(names[-1])
print(names[-2:],end='//')
#print(names[2:])
print(names[0:3])#冒号左边没有数字时,表示从0开始;右边没有数字时,表示一直取到最后一个元素。
#print(names[:3])
print(names[0:-2:2])#最后的为步长,实现跳过输出。0,-1可以省略 #追加:**.append/插入:**.insert()/修改:**[]=''
names.append('')
names.insert(1,'Herry')
names[6]='Jordan'
print(names) #查询.index()/计数.count()
print(names.index('Steve'),end=" ")
print(names[names.index('Steve')],end=' ')
names.append('Steve')
print('列表中含有{}个Steve'.format(names.count('Steve')))
names.pop() #删除**.remove()/**.pop()/del **
names.remove('Steve')
del names[1]
names.pop()
names.pop(1)
print(names) #反转列表:**.reverse()/排序:**.sort()/扩展**.extend()
names.reverse()
print(names) names2=['','a','A','#']
names2.sort()
print(names2)
names.extend(names2)
print(names,names2) #清空
print(names.clear()) #复制:浅:**.copy()/import copy copy.copy(***) /列表名2=列表名1[:]/列表名2=list(列表名1)
#深: copy.deepcopy()
names=['Jim','Stone','Person',['q','w','e']]
names3=names.copy()
names4=copy.deepcopy(names)
print(names,'\n',names3,'\n',names4)
names[2]='A'
names[3][0]='Q'#names3[3][1]='W' 相同效果
print('\n',names,'\n',names3,'\n',names4)
list常用方法