注意:
列表不同于元组和字符串的地方在于列表是可变的
1.list函数
list(‘hello’)===> ['h', 'e',' l', 'l' ,'0']
2.列表可以使用序列的标准操作(索引、分片、相加、乘法、成员资格、长度、最大值、最小值),并且因为列表是可变的,所以它具有一些改变列表的方法。
2.1 元素赋值
x = [1,2,3]
x[1] = 0 ===> x = [1,0,3]
2.2 删除元素(注意:这里只是删除的是对象的引用和引用自身的名字,并不会删除值也就是对象。Python自身会有垃圾回收机制删除对象的,不用开发者操心)
names = ['Alice', 'Bech', 'Cecil', 'Dee-Dee', 'Earl']
del names[1] ===> names = ['Alice', 'Cecil', 'Dee-Dee', 'Earl']
2.3 分片赋值(a[:]属于浅拷贝类似于copy)
name = list('Perl')
name[2:] = list('ar')
name = ['p', 'e', 'a', 'r']
[a:b:c] ==>a是起始读取的下标位置;b是结束位置;c是间隔或者正倒读取
3.列表方法
3.1 append(用于在列表的末尾追加新的对象,在原列表修改并不是简单返回一个修改过的新列表)
lst = [1,2,3]
lst.append(4) ===> lst = [1,2,3,4]
3.2 count(统计某个元素在列表中出现的次数)
['to','be','or','not','to','be'].count('to') ===> 2
3.3 extend (在列表的尾部一次性的追加另一个序列中的多个值)
[1,2,3].extend([2,3,4]) ===> [1,2,3,2,3,4]
注意:extend方法像连接操作,但是两者还是有区别的:extend是在原始的列表修改扩展了该列表。然而连接操作只是返回了一个新的列表
3.4 index(从列表中找到第一个匹配的值得索引位置)
knights = ['we', 'are', 'the', 'knights', 'who', 'say', 'no']
knights.index('who') ===> 4
3.5 insert (将对象插入列表中)
numbers = [1,2,3,4,5]
numbers.insert(3, 'four') ===> numbers = [1,2,3,'four', 4,5]
3.6 pop (移除列表中的一个元素,默认的参数是移除最后一个。并且返回该元素的值)
x = [1,2,3]
x.pop() ===> 返回3 并且原列表变成[1,2]
3.7 remove(移除列表中某个值得第一个匹配的项)
x = ['to','be','or','not','to','be']
x.remove('be') ===> x = ['to','or','not','to','be']
3.8 reverse(将列表中的元素反向存放)
x = [1,2,3]
x.reverse() ===> x = [3,2,1]
3.9 sort(用于在原位置对列表进行排序)
x = [4,3,5,2,1,6]
x.sort() ===> x = [1,2,3,4,5,6]
另:sort方法有两个可选的参数,key和reverse
x = ['aaa','bbbb','cc','ddddddd','e']
x.sort(key = len) ===> x = ['e','cc','aaa','bbbb','ddddddd']
x = [4,6,2,1,7,9]
x.sort(reverse=True) ===> x = [9,7,6,4,2,1]