列表(list)
列表中的数据可以是任何类型的数据;用中括号括起来
普通列表:member=['li','wang','zhang','liu']
混合列表:mix=[1,'li',3.14,[1,2,3]]
空列表:empty=[]
向列表添加元素
append()方法:member.append('English') 这样,member列表就添加了一个元素。添加单个元素
extend()方法:member.extend(['China','girl']) 这样,member列表就添加了两个元素。添加列表,将两个列表融合
insert()方法:member.insert(1,'dog') 这样,member列表1的位置就插入了'dog'这个元素
从列表中获取元素
跟数组一样,我们可以通过元素的索引值(index)从列表获取单个元素;member[1]就是'li'
从列表删除元素
remove()方法:member.remove('li') 这样,member就删除了'li'这个元素,如果删除不存在的元素,那么就会报错
del del member[1] 这样,就可以把1位置上的元素删除,del不是一个方法。del member 这样就会把整个列表删除。
pop()方法:member.pop() 这样,就可以把最后一个元素弹出来,并且有返回值,返回值为弹出的元素。member.pop(1) 这样就可以吧1位置上的元素弹出来。
列表分片(slice)
利用列表分片,可以一次性获取多个元素。
member[1:6] 就会获得1到5的元素的列表拷贝,不包括6
member[:6] 就会获得0到5的元素的列表拷贝,不包括6
member[1:] 就会获得1到最后的元素的列表拷贝
member[:] 就会获得源列表的拷贝
列表推导式
list1 =[x**2 for x in range(10)] 就会生成列表: [0,1,4,9,16,25,36,49,64,81]
list1 = [(x, y)forxinrange(10)foryinrange(10)ifx%2==0ify%2!=0] 就会生成列表:
[(0, 1), (0, 3), (0, 5), (0, 7), (0, 9), (2, 1), (2, 3), (2, 5), (2, 7), (2, 9), (4, 1), (4, 3), (4, 5), (4, 7), (4, 9), (6, 1), (6, 3), (6, 5), (6, 7), (6, 9), (8, 1), (8, 3), (8, 5), (8, 7), (8, 9)]
列表的一些常用操作符
比较操作符:大于小于等 只比较第一个元素
逻辑操作符:and or
链接操作符:+号是将两个列表进行拼接,相当于extend()方法
重复操作符:* member*3 member列表里的元素就会重复3次。
成员关系操作符:in / not in 存在于/不存在于
列表的内置函数
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']
常用方法:
count:member.count('li') 计算‘li’出现的次数
index:member.index('li') 获取‘li’第一次出现的位置 member.index('li',查找的起始位置,查找的结束位置) 带有范围的查找
reverse:member.reverse() 将整个列表内的元素位置反转。
sort:member.sort() 将整个列表进行从大到小的排序(默认) sort(REVERSE=False/True)从小到大/从大到小
list1=[1,2,3,4,53,2,1,3,4] list2=list1[:] 这是分片拷贝 list3=list1 这个相当于将list1的指针给了list3,当list1改变时,list3也会变,但是list2不会变。
关于“拷贝”的概念以及对象的赋值元组(tuple)
元组和列表实际使用上非常相似,但是元组内部的元素是不可以改变的;用小括号括起来,并且内部要有逗号。空元组()
(1)相当于1;(1,)才是元组
tuple1=(1,2,3,4,5,6,7,8) tuple[1] 就是2
tuple[5:] 就是(6,7,8) 也可以分片
tuple可以使用+进行元组之间的连接。
del 可以删除整个元祖
重复/拼接/逻辑操作符/关系操作符/成员关系操作符可以使用在元组中
网友评论