列表的一些常用操作符
- 比较操作符
- 逻辑操作符
- 连接操作符
- 重复操作符
- 成员关系操作符
列表的小伙伴们
接下来我们来认识一下列表的小伙伴们,官方来讲叫做列表类型的内置函数,那么列表有多少小伙伴呢?不妨让Python自己告诉我们:
>>> dir(list)
[‘__add__’, ‘__class__’, ‘__contains__’, ‘__delattr__’, ‘__delitem__’, ‘__dir__’, ‘__doc__’, ‘__eq__’, ‘__format__’, ‘__ge__’, ‘__getattribute__’, ‘__getitem__’, ‘__gt__’, ‘__hash__’, ‘__iadd__’, ‘__imul__’, ‘__init__’, ‘__iter__’, ‘__le__’, ‘__len__’, ‘__lt__’, ‘__mul__’, ‘__ne__’, ‘__new__’, ‘__reduce__’, ‘__reduce_ex__’, ‘__repr__’, ‘__reversed__’, ‘__rmul__’, ‘__setattr__’, ‘__setitem__’, ‘__sizeof__’, ‘__str__’, ‘__subclasshook__’, ‘append’, ‘clear’, ‘copy’, ‘count’, ‘extend’, ‘index’, ‘insert’, ‘pop’, ‘remove’, ‘reverse’, ‘sort’]
关于分片“拷贝”概念的补充
来自 鱼C工作室
视频代码实操
>>> list1 = [123]
>>> list2 = [234]
>>> list1 > list2 #比较操作
False
>>> list1 = [123,455]
>>> list2 = [234,123]
>>> list1 < list2 #从列表第一个元素开始比较
True
>>> list3 = [123, 456]
>>> list3 = [123, 455]
>>> (list1 < list2) and (list1 == list3) #逻辑操作
True
>>> list4 = list1 + list2 #拼接操作,列表之间相加就是元素的拼接
>>> list4
[123, 455, 234, 123]
>>> list1 + '小甲鱼' #不能偷懒直接在列表上加元素,加号两边类型应该一样,向列表添加元素用extend等
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
list1 + '小甲鱼'
TypeError: can only concatenate list (not "str") to list
>>> list3
[123, 455]
>>> list3 * 3 #重复操作
[123, 455, 123, 455, 123, 455]
>>> list3 *= 3
>>> list3
[123, 455, 123, 455, 123, 455]
>>> list3 *= 5
>>> list3
[123, 455, 123, 455, 123, 455, 123, 455, 123, 455, 123, 455, 123, 455, 123, 455, 123, 455, 123, 455, 123, 455, 123, 455, 123, 455, 123, 455, 123, 455]
>>> 123 in list3 # in 操作符,成员关系操作符
True
>>> '小甲鱼' not in list3
True
>>> 123 not in list3
False
>>> list5 = [123,['小甲鱼','牡丹'],456]
>>> '小甲鱼' in list5 # 注意这个,列表中有列表元素
False
>>> '小甲鱼' in list5[1]
True
>>> list5[1][1] #类似二元数组
'牡丹'
>>> dir(list) # 列表相关的函数
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>> list3.count(123) #count 数123在列表3中出现的次数
15
>>> list3.index(123) #返回123元素在列表3中第一次出现的下标
0
>>> list3.index(123,3,7)#从下标3-7之间查找123元素,返回下标值
4
>>> list5.reverse() #逆置函数,元素倒过来
>>> list5
[456, ['小甲鱼', '牡丹'], 123]
>>> list6 = [4,2,5,9,1]
>>> list6.sort() #排序函数
>>> list6
[1, 2, 4, 5, 9]
>>> list6.sort(reverse = True) #逆置之后排序
>>> list6
[9, 5, 4, 2, 1]
>>> list7 = list6[:] #复制,实实在在地复制,不是指向同一个列表
>>> list7
[9, 5, 4, 2, 1]
>>> list8 = list6 # 指向同一列表
>>> list8
[9, 5, 4, 2, 1]
>>> list6.sort()
>>> list6
[1, 2, 4, 5, 9]
>>> list7
[9, 5, 4, 2, 1]
>>> list8
[1, 2, 4, 5, 9]
>>>