Python列表有什么用
这篇文章给大家分享的是有关Python列表有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
创新新互联,凭借十多年的网站制作、做网站经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有上千多家案例。做网站建设,选创新互联公司。
Python 列表是一个任意类型对象的位置相关的游戏集合,它没有固定大小,可通过对偏移量进行赋值。
列表操作
in / not in 判断元素在列表当中是否存在
a= [1,2,3] if(1 in a): print("在")
列表生成器
[x for x in range(10)]
a = list(range(10)) # 循环range(10),并把每个元素存起来生成新的列表 ,相当于 list(range(10)) list1 = [i for i in range(10)] # 循环range(10),并把每个元素的平方存起来生成新的列表 list2 = [i*i for i in range(10)] print(range(10)) print(a) print(list1) print(list2) #输出 range(0, 10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
len : 求长度
索引:
>>> a=[1,2,3] >>> a [1, 2, 3] >>> a[0] 1 >>> a[0]=0 #通过a[index] ,可改变列表对应索引号的值 >>> a [0, 2, 3] >>> a[3]=4 #如果索引号不存在,则报错 Traceback (most recent call last): File "", line 1, in IndexError: list assignment index out of range >>>
切片:不改变原来列表,返回新的列表
[start:end:step] 起始位置:结束位置:步长
步长为负数的话,就反着切。
>>> a [0, 2, 3] >>> a[:] # [:] 取整个索引 [0, 2, 3] >>> a[1:3] # 从索引1,到索引2 进行切片,包头不包尾,返回新的列表 [2, 3] >>> a[1:] [2, 3] >>> a[0:] [0, 2, 3] >>> a[0:-1] [0, 2]
列表的特定操作:
添加元素:改变原来列表
append() :往列表索引末尾,添加其他元素 ,添加的元素只占1个索引位置,改变原来列表
a = [1,2,3] b = [4,5,6] a.append(b) [1,2,3,[4,5,6]]
extend(): 向列表尾部追加一个序列(iterble),将序列中的每个元素都追加进来
#extend() >>> a=[1,2,3] >>> a [1, 2, 3] >>> a.extend([3,5,6]) >>> a [1, 2, 3, 3, 5, 6] >>> a.extend({'name':'lee','age':18}) >>> a [1, 2, 3, 3, 5, 6, 'age', 'name'] >>> a.extend((7,8)) >>> a [1, 2, 3, 3, 5, 6, 'age', 'name', 7, 8]
insert(index,元素)在任意位置添加一个元素
a = [1,2,3] a.insert(0,-1) a.insert(5,4) #超出范围,默认往末尾添加 #输出 [-1,1,2,3,4]
+:两个列表相加,如果不是列表会报错,不改变原来列表,生成1个新的列表
+=:相当于extend()
inser(index,object):往索引位置中添加值
切片添加元素
a = [1,2,3] b = [4,5,6] a[1:]=b #相当于 列表a[1] 后面的元素全部替换掉 print(a) #输出 [1, 4, 5, 6]
区别:
append和insert ,+= 都会改变原来的列表,而+不改变原来列表的大小,只会生成新的列表
+ 后面 必须为列表,其他可以为任意元素
>>> a=[1,2,3] >>> a.append('abc') #从末尾添加元素 >>> a [1, 2, 3, 'abc'] >>> a+'456' Traceback (most recent call last): File "", line 1, in TypeError: can only concatenate list (not "str") to list >>> a+['456'] [1, 2, 3, 'abc', '456']
删除元素:改变原来列表
del(a) :删除整个列表
del(a[0]):删除 a 列表中的第一个元素,同pop(0)
pop(n):删除列表固定(索引)中的元素
remove(value):删除列表中的值
clear(): 删除列表中所有的值
列表其他方法:
sort():按照升序,对列表进行排序,只能对相同类型进行排序,如列表中全是 数字或字母
reverse():对列表进行翻转 ,列表中可以含有不同元素
>>> b=[1,2,3,4] [4, 3, 2, 1] >>> b.sort() #对B进行升序排序 >>> b [1, 2, 3, 4] >>> b.reverse() #对B进行翻转 >>> b >>> c=[1,'b',4,'c'] >>> c.reverse() #对C进行翻转 >>> c ['c', 4, 'b', 1]
二者差别:sort() 要求列表中元素为同一类型,reverse()不需要,只是单纯翻转列表中元素的位置。
sort() 支持传1个key 作为指定参数来排序
a = [ {'id':11}, {'id':33}, {'id':2} ] a.sort(key=lambda a:a['id']) print(a)
index(value):查找列表当中的元素的下标位置,如果存在,则返回索引位置,不存在则报错,如果有相同的值,则默认返回第一个值的下标
index(value,start,end) :start end 从固定(起始下标,结束下标)下标位置查找,不存在报错
a = ["hello","world",3,"hello"] b = a.index("hello") print(b) #输出0,有两个hello,默认返回第一个下标 c = [1,2,3,4,5,6] c.index(2,2,4) #报错,从下标2 到4的位置 查找值为2 的下标,因为没有所以报错。 #c[2]是3 c[4] 是5
count(value):统计列表当中包含某一元素的个人
copy(): 复制列表
感谢各位的阅读!关于“Python列表有什么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
文章题目:Python列表有什么用
文章分享:http://ybzwz.com/article/iegsgg.html