Python第四天

列表 元祖 字典

列表

在Python中,列表可以用来存储任意类型的数据,列表是有序,可重复,可修改的一个类集合,这里的有序指的是列表中的每一个元素都有一个确定且固定的下标作为索引,索引的值从0开始由左往右逐一递增,所以列表最后一个元素的索引下标是该列表元素个数减一。

a=[1,2,1,0,5,3]
print(a,type(a)) #out:[1,2,1,0,5,3]  <class 'list'>

列表的方法

sort()

用于列表中的元素从左往右按小到大的顺序排序。

a=[3,2,1,0,11,13]
a.sort()
print(a) #out:[0, 1, 2, 3, 11, 13]
append()

用于在列表末尾追加元素,需要追加的元素填在括号内。

a=[3,2,1,0,11,13]
a.append(1)
print(a) #out:[3, 2, 1, 0, 11, 13, 1]
extend()

也适用于在列表末尾追加元素,追加的方式与append相同,但是不同点在于追加进去的方式。
使用append追加

a=[3,2,1,0,11,13]
b=[1,2]
a.append(b)
print(a) #out:[3,2,1,0,11,13,[1,2]]

使用extend追加

a=[3,2,1,0,11,13]
b=[1,2]
a.extend(b)
print(a) #out:[3,2,1,0,11,13,1,2]

使用append追加元素是将追加的内容以整体的性质追加进列表,而使用extend则会将追加的元素打散,然后逐个追加至列表末尾。

a=[3,2,1,0,11,13]
b=[1,2]
c=a+b
print(c) #out:[3,2,1,0,11,13,1,2]

用加法的方式也可以实现类似extend的功能,但是需要注意一个细节,使用extend的时候其实是改变了执行该方法的列表,而使用‘+’则需要分情况讨论,如果是将列表相加赋值给全新的变量,则相加的两个列表不会发生,但是如果相加的值赋值给其中一个加数,则被重新赋值的加数(列表)会发生改变

a=[3,2,1,0,11,13]
b=[1,2]
a=a+b   #将相加的结果赋值给列表a,此时列表a发生了改变,这种情况等同于extend
print(a) #out:[3,2,1,0,11,13,1,2]
count()

用于统计列表中制定元素的个数

a=[3,2,1,0,11,13,2,3,1,14]
c=a.count(1)
print(c) #out:2
remove()

从列表左侧开始寻找,只删除第一个寻找的指定的元素。

a=[3,2,1,0,11,13,2,3,1,14]
a.remove(1)
print(a) #out:[3, 2, 0, 11, 13, 2, 3, 1, 14]#虽然倒数第二个元素也是1,但是这个元素不是在列表中第一次出现的1,所以没有被删除
pop()

用于删除列表中的元素,不同于remove()的地方在于,remove()删除括号内指定的元素,而pop只能采用下标删除,如果输入非下标的值,如果这个值可以转化为列表中存在的下标的,则会转化后执行删除操作,否则其他方法无法起作用

a=[3,2,1,0,11,13,2,3,1,14]
b=[1,2]
a.remove(a[4])
print(a)
a.pop(a[4])
print(a)

运行上述代码会发,使用remove可以正常删除a[4]元素(4是每个元素的下标,在这里,4所对应的的值是11),但是运行至pop则会报错,提示错误类型是IndexError: pop index out of range,索引错误,pop的索引超出范围,因为使用pop时,系统将a[4]对应的值13(之所以不是11是因为前面已经使用remove删除了11,这时候列表中元素的下标发生了变化)作为下标索引,但是列表a并没有这么多元素,此外,pop的元素可以用于赋值,而remove则不行。

a=[1,2,3,4,'a',5,6,7,8]
b=a.pop(4)
c=a.remove(4)
print(b) #out:a
print(c) #out:none
clear()

用于清空列表

a=[1,2,3,4,'a',5,6,7,8]
a.clear()
print(a) #out:[]
reverse()

将列表倒序

a=[1,2,3,4,'a',5,6,7,8]
a.reverse()
print(a) #out:[8, 7, 6, 5, 'a', 4, 3, 2, 1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值