列表是一系列元素,按特定顺序排列组成。列表总的元素之间没有任何关系,既可以时字符串,也可以是数字,还可以是布尔值。
由此可以看出,列表通常包含多个元素,因此再给列表命名的时候,最好使用复数,例如:names、ages等
>>> a = [1,2,3]>>> print(a,type(a))[1, 2, 3] <class 'List'>
2.2 用 List 创建列表>>> b = List('abc')>>> b,type(b)['a', 'b', 'c'] <class 'List'>>>> c = List((1,2,3))>>> c[1, 2, 3]# 对于字典,生成的是键 key 列表。>>> cc = List({"aa":1,"bb":3})>>> cc['aa', 'bb']
2.3 用 range 创建列表>>> d = List(range(10))>>> print(d, type(d))[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <class 'List'>>>> dd = List(range(3,-10,-3))>>> print(dd, type(dd))[3, 0, -3, -6, -9] <class 'List'>
2.4 用列表推导式创建列表>>> f = [i for i in range(5)]>>> print(f,type(f))[0, 1, 2, 3, 4] <class 'List'>
2.5 用 List 和[]创建空列表>>> g = List()>>> print(g)[]>>> h = []>>> print(h)[]
3. 添加列表元素的5种方式3.1 append()方法:真正的在尾部添加元素,速度最快。推荐使用。注:我们发现在尾部添加元素后, b 的存储地址没有改变。原地 *** 作列表。
>>> a = ['QQ','微信']>>> b = []>>> print(ID(b))51115016>>> for i in a:b.append(i)>>> print(b)['QQ', '微信']>>> print(ID(b))51115016
3.2 extend()方法:将 B 列表元素添加到 A 列表。推荐使用, A.extend(B)注:将一个列表的元素,添加到另外一个列表元素的尾部。添加元素前后,地址不变。
>>> c = [1,2,3]>>> print(ID(c))51296456>>> d = ['QQ', '微信']>>> c.extend(d)>>>> print(c,ID(c))[1, 2, 3, 'QQ', '微信'] 51296456
3.3 insert()方法注:在列表指定位置插入元素。当涉及大量元素时,尽量避免使用。因为,会让插入位置后面的元素进行大面积移动,影响处理速度。类似这样的函数还有:remove、 pop、del。
>>> c = [1,2,3]>>> c.insert(2,'qq') # insert(索引, 要插入的元素)>>> c[1, 2, 'qq', 3]
3.4 “+” *** 作符扩展列表注:因为存储地址前后发生改变,属于创建了新列表,增加了内存。不建议使用。
>>> a = [20,40]>>> print(ID(a))51297096>>> a = a + [50]>>> print(a)[20, 40, 50]>>> print(ID(a))51296968
3.5 “*” *** 作符扩展列表注:不建议使用。(字符串、元组也可以用‘ 乘法扩展’ ,增加相同的元素)
>>> a = [1,2,3]>>> print(ID(a))51297416>>> b = a * 3>>> print(b)[1, 2, 3, 1, 2, 3, 1, 2, 3]>>> print(ID(b))51225352
4. 删除列表元素的4种方式4.1 remove()方法:删除列表中首次出现的元素注:若列表中,有重复元素,则删除列表中,首次出现的该元素。若删除元素不存在,则抛出异常。
>>> d = [1,2,5,2,3,4,5,1,3,2,1]>>> d.remove(2)>>> d[1, 5, 2, 3, 4, 5, 1, 3, 2, 1]
4.2 del 方法注:删除列表指定位置的元素。
>>> a = [1,2,3]>>> del a[0]>>> print(a)[2, 3]#删除整个列表>>> del a>>> aTraceback (most recent call last):file "<pyshell#417>", line 1, in <module>anameError: name 'a' is not defined
4.3 pop()方法:括号中传入的是索引注:删除指定位置元素,并返回指定位置元素。若不指定位置,默认删除列表末 尾元素。推荐使用:不指定索引的用法。
>>> b = [1,2,3]>>> b.pop(1)2>>> print(b)[1, 3]>>> c = ['a','b','c']>>> c.pop()'c'>>> c.pop()'b'>>> c.pop()'a'>>> print(c)[]>>> c.pop()Traceback (most recent call last):file "<pyshell#13>", line 1, in <module>c.pop()IndexError: pop from empty List
4.4 clear()方法:删除列表中所有元素>>> d = [1,2,5,2,3,4,5,1,3,2,1]>>> d.clear()>>> d[]
5. 获取列表元素的3种方式关于这一小节,我们讲述2种获取列表元素的方法,1种获取列表元素位置的方法。
5.1 索引获取单个列表元素注意:如果索引长度,超过列表长度,则会报错。记住下面这个错误,以后会经常遇到。
>> a = [1,2,3,4,5,6,7,8,9]>>> a[4]5 >>> a[9]Traceback (most recent call last):31file "<pyshell#28>", line 1, in <module>a[9]IndexError: List index out of range
5.2 切片获取多个列表元素>>> a = [1,2,3,4,5,6,7,8,9]>>> a[3:][4, 5, 6, 7, 8, 9]>>> a[2:6][3, 4, 5, 6]>>> a[::-1][9, 8, 7, 6, 5, 4, 3, 2, 1]
5.3 index()方法:传入的是列表元素,获取指定元素所在位置的下标语法:index(指定元素,start,end), start、 end 表示从哪个位置开始进行搜索,如果待搜索的元素不在搜索范围内,会报错。注意:传入列表元素,返回该元素的索引。
>>> b = [12,13,14,12,12,14,13,12,14,15]>>> b.index(13)1>>> b.index(13,2)6>>> b.index(13,2,5)Traceback (most recent call last): file "<stdin>", line 1, in <module>ValueError: 13 is not in List
6. 列表元素长度计算与计数有时候我们需要统计某个列表的长度(列表中有几个元素),或者有时候需要对列表中的某个元素进行计数(数量统计)。
6.1 列表长度计算:len()>>> b = [12,13,14,12,12,14,13,12,14,15]>>> len(b)10
6.2 列表元素计数:count()注意:获取指定元素在列表中出现的次数
>>> a = [12,13,14,12,12,14,13,12,14,15]>>> a.count(14)3
总结 以上是内存溢出为你收集整理的python基础(五):列表的使用(上)全部内容,希望文章能够帮你解决python基础(五):列表的使用(上)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)