目录
1. list函数
一般用list可以将字符串转化为列表
a='hello'
b=list(a)
print(b)
#['h', 'e', 'l', 'l', 'o']
2. 给元素赋值
2.1单个赋值
a=[1,2,3]
a[0]=2
print(a)
[2, 2, 3]
2.2给切片赋值
a=list('hello')
b=list('a')
a[1:]=b
print(a)
这里是把a从第2个元素(序列为1)开始到末尾的所有元素进行删除,并把列表b拼接在列表a的后面
3.删除元素
3.1 del语句
删除单个元素时
a=[1,2,3,4,5]
del a[0]
print(a)
#[2, 3, 4, 5]
还可以结合切牌对多个元素进行删除
a=[1,2,3,4,5]
del a[0:2]
print(a)
#[3, 4, 5]
3.2[]
这里还可以用a[i:i+1]=[]表示删除第i-1个元素
a=[1,2,3,4,5]
a[0:1]=[]#当然也可以利用切牌对多个元素进行删除
print(a)
#[2, 3, 4, 5]
这里如果表示a[0]=[],就表示的是给元素赋值,就把1改成了[]
3.3 clear(全删)
a=[1,2,3,4,5]
a.clear()
print(a)
#[]
3.4 pop
pop是从列表中删除指定索引对应的对象,默认为最后一个,并会返回这一个元素
a=['h','e','l','l','o']
b=a.pop()
print(b) #'o'
print(a) #['h','e','l','l']
c=a.pop(0)
print(c) #'h'
print(a) #['e','l','l']
3.5 remove
remove则直接删除第一个为指定值的元素(没有找到则报错)
a=['h','e','l','l','o']
a.remove('o')
print(a) #['h', 'e', 'l', 'o']
4插入元素(增添元素)
4.1直接插入
a=[1,2,3,4,5]
a[1:1]=['h','l']#只要你想,也可以删除并插入
print(a)
#[1, 'h', 'l', 2, 3, 4, 5]
4.2 append附加到末尾
a=[1,2,3,4,5]
a.append(6)
print(a)
#[1, 2, 3, 4, 5, 6]
但如果append里是个列表,就会变成这样
a=[1,2,3,4,5]
b=['h','l','l']
a.append(b)
print(a)
#[1, 2, 3, 4, 5, ['h', 'l', 'l']]
append添加的只是一个对象,而这个对象可以是列表对象中的任何值
4.3 extend
extend更多的是将一个列表扩充到另一个列表中,相当于+
a=[1,2,3]
b=[4,5,6]
a.extend(b)
print(a)
#[1, 2, 3, 4, 5, 6]
+也能实现
a=[1,2,3]
b=[4,5,6]
a=a+b
print(a)
#[1, 2, 3, 4, 5, 6]
5 查找元素
5.1 index
index主要在列表中查找指定值第一次出现的索引,没有找到就直接报错
a=['h','e','l','l','o']
b=a.index('l')
print(b)
#2
6 其余函数
6.1 copy(全部复制)
a=[1,2,3,4,5]
b=a
del b[0]
print(a)
print(b)
#[2, 3, 4, 5]
正常的把a传给b是让b和a指向相同的对象,当对b进行修改时,a会被一并修改,但用copy就会创建一个新的对象
a=[1,2,3,4,5]
b=a.copy()
del b[0]
print(a)
print(b)
#[1, 2, 3, 4, 5]
#[2, 3, 4, 5]
6.2 count
返回指定元素在列表中出现的次数
a=['h','e','l','l','o']
b=a.count('l')
print(b)
#2
6.3 reverse
reverse按相反序列排序列表中的元素
a=['h','e','l','l','o']
a.reverse()
print(a) #['o', 'l', 'l', 'e', 'h']
不过取反也可以用[::-1]表示
a=['h','e','l','l','o']
a=a[::-1]
print(a) #['o', 'l', 'l', 'e', 'h']
6.4 sort
sort用于对列表进行就地从小到大(这里一般指ASCII值)排序(无返回值)
一般用于对数字进行从小到大排序
a=[1,8,4,5,9,7,22,0,3]
a.sort()
print(a) #[0, 1, 3, 4, 5, 7, 8, 9, 22]
当然也可以对字母之类的进行排序
a=list('PyThon')
a.sort()
print(a) #['P', 'T', 'h', 'n', 'o', 'y']
但如果你想让排序后有返回值的话可以用sorted
a=[1,8,4,5,9,7,22,0,3]
b=sorted(a)
print(b) #[0, 1, 3, 4, 5, 7, 8, 9, 22]
6.5 sort的更高阶用法
sort还可以接受两个可以选择的参数:key和reverse
key值的是sort排序的另一关键,比方说a.sort(key=abs),这里的abs指取绝对值,那么sort就会对a的所有元素取完绝对值后的大小进行排序,但并不改变a元素的大小
a=[-1,8,-4,5,-9,7,22,0,-3]
a.sort(key=abs)
print(a) #[0, -1, -3, -4, 5, 7, 8, -9, 22]
当然,key还有len之类的
而reverse就是对排序完的结果再进行倒序,比方说a.sort(reverse=True)
a=[-1,8,-4,5,-9,7,22,0,-3]
a.sort(key=abs,reverse=True)
print(a) #[22, -9, 8, 7, 5, -4, -3, -1, 0]