list类中提供的方法
list.append(obj):在列表末尾添加新的对象
li = [11,22,33,44] li.append(55) li.append([234,456]) print(li)
结果:[11, 22, 33, 44, 55, [234, 456]]
list.count(obj):统计某个元素在列表中出现的次数
li = [11,22,33,44,[234,456]] print(li.count(22)) print(li.count(234))
结果:1 0
list.extend(seq):在末尾扩展原列表,参数:可迭代对象
li = [11, 22, 33, 22, 44] li.append([55,"66"]) print(li) li = [11, 22, 33, 22, 44] li.extend([55,"66"]) print(li)
结果:[11, 22, 33, 22, 44, [55, '66']]
[11, 22, 33, 22, 44, 55, '66']
li = [11,22,33,44] li.extend('asd') print(li)
结果:[11, 22, 33, 44, 'a', 's', 'd']
list.index(obj):从列表中找出某个值第一个匹配项的索引位置
li = [11, 22, 33, 22, 44] print(li.index(22))
结果:1
list.insert(index, obj):在指定索引位置插入对象
li = [11, 22, 33, 22, 44] li.insert(3,[55,66]) print(li)
结果:[11, 22, 33, [55, 66], 22, 44]
list.reverse():反向列表中元素
li = [11, 22, 33, 22, 44] li.reverse() print(li)
结果:[44, 22, 33, 22, 11]
list.sort(cmp=None, key=None, reverse=False):对原列表进行排序(reverse=True为倒序)
li = [11,44, 22, 33, 22] li.sort(reverse=True) print(li)
结果:[44, 33, 22, 22, 11]
list.pop([index=-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
li = [11, 22, 33, 22, 44] v = li.pop(1) print(li) print(v)
结果:[11, 33, 22, 44] 22
list.remove(obj):移除列表中某个值的第一个匹配项
li = [11, 22, 33, 22, 44] li.remove(22) print(li)
结果:[11, 33, 22, 44]
ps:删除列表中元素的五种方法 pop/remove/del li[0]/del li[7:9]/clear
类型转换
字符串转换列表(直接转,内部使用for循环)
s = "asdasda" print(list(s))
结果:['a', 's', 'd', 'a', 's', 'd', 'a']
列表转换成字符串(两种)
列表中的元素只有字符串:直接使用字符串join方法
li = ["123","aaa"] print(''.join(li))
结果:123aaa
列表中的元素既有数字又有字符串:需要自己写for循环一个一个处理
li = [11,22,33,"123","aaa"] s = "" for i in li: s = s + str(i) print(s)
结果:112233123aaa
数字与列表不能相互转换,因为在int中无法进行迭代,也就是在int中无法使用for循环
s = 123 for i in s: print(i)
结果:TypeError: 'int' object is not iterable
综上,能与list相互转换的类型,都是可迭代对象,即在内部可以使用for循环的
字符串与列表比较
相同点:
都是可迭代对象,即在内部可以使用for循环的
索引取单个元素,切片取多个元素
不同点:
字符串创建后,不可修改
列表元素,可以被修改
li = [11,22,33,44] li[0] = 999 print(li) s = "alex" s[0] = "E" print(s)
结果:[999, 22, 33, 44]
TypeError: 'str' object does not support item assignment