- 数组:各元素类型 必须 一致
列表:各元素类型 不必 一致
创建列表
创建一个普通列表
menber = ['Cytosine','Bob','Snape','Amy']
创建一个混合列表
mix = [1,'Cytosine',3.14, [1,2,3] ]
创建一个空列表
empty = []
向列表里添加元素
append()
menber.append('Lucy')
append
只能带一个参数
extend()
menber.extend(['Lily','Candy'])
使用一个列表扩展另一个列表
insert()
menber.insert(0,'White')
两个参数:
第一个参数,插入的位置,从0开始
第二个参数,插入的内容
删除元素
remove()
menber.remove('Lucy')
不需要知道元素在列表中的位置,只要这个元素在这个列表中即可。
元素不在列表中,则抛出异常。
del
#删除member中的第二个元素
del member[1]
#删除整个memder
del memder
pop()
member.pop()
pop()
返回删除掉的值,所以还可以:
name = member.pop()
pop()
还可以带参数,参数是想要删除的元素的索引:
member.pop(0)
列表分片 Slice
- 取member[1]和member[2]
member[1:3]
- 取member[0],member[1],member[2]
member[:3]
- 取member[3],...,member的最后一个元素
member[3:]
列表的比较
>>> list1 = [123]
>>> list2 = [234]
>>> list1 > list2
False
>>> list1 = [123,456]
>>> list2 = [234,123]
>>> list1 > list2
False
从索引为0的元素开始,只要列表A中的第index个元素大于列表B中的第index元素,列表A则大于列表B。
列表的相加
>>> list1 = [123,456]
>>> list2 = [234,123]
>>> list3 = list1 + list2
>>> list3
[123, 456, 234, 123]
>>>
不建议直接使用+
,建议使用 extend()
代替。
列表的*
>>> list1
[123, 456]
>>> list1 * 3
[123, 456, 123, 456, 123, 456]
>>> list1 = [123,456]
>>> list1
[123, 456]
>>> list1 *=3
>>> list1
[123, 456, 123, 456, 123, 456]
列表的成员关系运算符
>>> list1 = [123,456]
>>> list1
[123, 456]
>>> 123 in list1
True
>>> 234 not in list1
True
注意:
>>> list2 = [123, ['Cytosine', 'Amy'], 456]
>>> 'Cytosine' in list2
False
>>> 'Cytosine' in list2[1]
True
访问列表中列表的元素
类似C语言二维数组:
>>> list2 = [123, ['Cytosine', 'Amy'], 456]
>>> list2[1][0]
'Cytosine'
其他
count()
计算某元素在列表中出现的次数
>>> list1
[123, 456]
>>> list1 *= 5
>>> list1
[123, 456, 123, 456, 123, 456, 123, 456, 123, 456]
>>> list1.count(123)
5
index()
返回元素在列表中第一次出现的索引。
带一个参数:需要查找的元素。
带三个参数:需要查找的元素,起始查找位置,终止查找位置
>>> list1
[123, 456, 123, 456, 123, 456, 123, 456, 123, 456]
>>> list1.index(123)
0
>>> list1.index(123, 3, 7)
4
reverse()
倒置列表
>>> list1 = [1, 2, 3, 4, 5, 6]
>>> list1.reverse()
>>> list1
[6, 5, 4, 3, 2, 1]
sort()
- 排序。
- 不带参数时,默认从小到大。
- 从大到小排序:
list1.sort(reverse=True)
- sort(func ,key, reverse)
排序算法,排序算法中的关键字,从小到大还是从大到小。
排序算法默认是归并排序。
reverse默认是reverse=False
,从小到大。
列表的拷贝
方法一:分片
list2 = list1[:]