Python列表的一些常用操作符

列表的一些常用操作符

  • 比较操作符
  • 逻辑操作符
  • 连接操作符
  • 重复操作符
  • 成员关系操作符

比较操作符 > = <、逻辑操作符 and

>>> list1 = [123]
>>> list2 = [234]
>>> list1 > list2
False
>>> list1 = [123,456]
>>> list2 = [234,123]
>>> list1 > list2
False
>>> list3 = [123,456]
>>> (list1 < list2) and (list1 == list3)
True

连接操作符 +

>>> list1 = [123]
>>> list2 = [456]
>>> list3 = list1 + list2
>>> list3
[123, 456]

这个 + 不能随便用,必须 + 两边类型一样才可以

>>> list1 + 456
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    list1 + 456
TypeError: can only concatenate list (not "int") to list

那么想添加元素到列表中用什么方法呢?

 1.append()

>>> list1 = [123]
>>> list1.append(456)
>>> list1
[123, 456]

 2.insert()

>>> list1 = [456]
>>> list1.insert(0,123)
>>> list1
[123, 456]

重复操作符 *

>>> list1 = [123,456]
>>> list1 *= 3
>>> list1
[123, 456, 123, 456, 123, 456]

成员关系操作符 in

>>> list1 = [123]
>>> 123 in list1
True
>>> 456 not in list1
True
>>> list1 = [123,['haha','xixi'],456]
>>> 'haha' in list1
False
>>> 'haha' in list1[1]
True
>>> list1[1][1]
'xixi'

列表某个元素的个数 count()

>>> 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']
>>> list1=[123,123,123,456,456,123,123,123,123]
>>> list1.count(123)
7

列表某个元素的位置 index()

>>> list1=[123,123,123,456,456,123,123,123,123]
>>> list1.index(123,3,7)
5

list1.index(123,3,7)意思是,列表中123这个元素,在列表中3-7的位置范围内第一次出现的位置是什么?

列表进行翻转 reverse()

>>> list1 = [123,456,789]
>>> list1.reverse()
>>> list1
[789, 456, 123]

列表的排序 sort()

>>> list1 = [7,4,1,8,5,2,9,6,3,0]
>>> list1.sort()
>>> list1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list1.sort(reverse=True)
>>> list1
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

列表的拷贝 

>>> list1
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> list2 = list1 [:]
>>> list2
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> list3 = list1
>>> list3
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

这里我们提出一个疑问:两种拷贝有什么不一样呢?

答案:第一种list2 = list1 [:]是拷贝了一份完全一样的列表,也就是list2不随list1的改变而改变(有原则)

           第二种list3=list1 是墙头草,也就是list3在后续中会随着list1的改变而发生改变(没有原则)

举个简单的示例:(接着上面的数据进行改变)

>>> list1.sort()
>>> list1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list2
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> list3
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

猜你喜欢

转载自blog.csdn.net/liu_hong_yan/article/details/114637680