1:列表:
Python的列表比C语言的数组强大的多,数组只能存放相同类型的数据,而列表则像一个大集装箱可以存放整形、浮点型、字符串、对象等
2:创建列表的方法
#创建一个普通列表list1=[1,2,3,4,5]#创建一个空列表empty=[]#创建一个混合列表list2=['电子','123',[1,2,'信息'],'sss']
3:向列表中添加元素的方法
1)append() 向列表末尾添加一个参数
member=['铮铮','懿懿']member.append('在一起')member['铮铮', '懿懿', '在一起']
2)extend() 参数为一个列表,从原列表扩展原有列表
member=['铮铮','懿懿']member.extend([1314,'在一起'])member['铮铮', '懿懿', 1314, '在一起']
3)insert() 两个参数,第一个参数代表列表所在位置,第二个参数代表要插入的元素
member=['铮铮','懿懿']member.insert(1,'love')member['铮铮', 'love', '懿懿']
4)append()与extend()的比较
>>> name = ['F', 'i', 's', 'h']>>> name.append('C')>>> name['F', 'i', 's', 'h', 'C']>>> name.extend(['.', 'c'])>>> name['F', 'i', 's', 'h', 'C', '.', 'c']>>> name.append(['o', 'm'])>>> name['F', 'i', 's', 'h', 'C', '.', 'c', ['o', 'm']]
这个例子看懂了吗?
4:从列表中获取元素的方法
和数组一样列表可以用们member[0]改变索引值来获取相应元素
>>> member=['铮铮','懿懿']>>> member[0]'铮铮'>>> member[1]'懿懿'
5:从列表删除元素的方法
1)remove() 参数为已知列表当中的名字,只要知道名字就行
>>> list2=['4.阿迪达斯','3.李宁','2.卡帕','1.耐克']>>> list2.remove('3.李宁')>>> list2['4.阿迪达斯', '2.卡帕', '1.耐克']
2)del 语句
>>> list2=['4.阿迪达斯','3.李宁','2.卡帕','1.耐克']>>> del list2[0]>>> list2['3.李宁', '2.卡帕', '1.耐克']
3)pop() 弹栈 取出最后一个元素并返回给你
>>> list2=['4.阿迪达斯','3.李宁','2.卡帕','1.耐克']>>> list2.pop()'1.耐克'
#从列表中取出一个元素并插入到最前面list2=['4.阿迪达斯','3.李宁','2.卡帕','1.耐克']list2.insert(0,list2.pop())>>> list2['1.耐克', '4.阿迪达斯', '3.李宁', '2.卡帕']
6:列表的分片(slice) 得到另外一个列表
>>> list1=[9,65,34,13,67,9,45,12]>>> list1[0:3][9, 65, 34]>>> list1=[9,65,34,13,67,9,45,12]>>> list2=list1[:]>>> list2[9, 65, 34, 13, 67, 9, 45, 12]#注意list2是一个新的列表如果list3=list1list3不是一个新的列表,它和list1只是指向同一个位置而已,如下图
#列表分片还有一个隐藏值步长,步长不能为0默认为1>>> list1=[9,65,34,13,67,9,45,12]>>> list1[::2][9, 34, 67, 45]
7:列表的一些常用操作符
1)比较操作符 有多个元素时从第0个开始比较
list1=[1,8,3]list2=[4,5,6]>>> list1>list2False>>> list1
2)逻辑操作符
list1=[1,8,3]list2=[4,5,6]>>> list1list2False
3)连接操作符
list1=[1,8,3]list2=[4,5,6]>>> list1 + list2[1, 8, 3, 4, 5, 6]#两个列表的类型相同时才能用’+‘如果要添加元素用前面的三种方法
4)重复操作符 ’*‘
list1=[1,8,3]>>> list1*2[1, 8, 3, 1, 8, 3]
5)成员关系符 in
>>> member=['1.耐克', '4.阿迪达斯', '3.李宁', '2.卡帕']>>> '1.耐克' in memberTrue
>>> member=[[1,2,3,['abc']],'1.耐克', '4.阿迪达斯', '3.李宁', '2.卡帕']>>> 'abc' in member[0]False>>> 'abc' in member[0][3]True
>>> member=[[1,2,3,['abc',['a']]],'1.耐克', '4.阿迪达斯', '3.李宁', '2.卡帕']
>>> a in member[0][3][1]True
如果是列表中的列表,要先给他包含一个层次
8:列表的好基友(列表类型的内置函数)
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']
2)经常要一起玩的基友(常用的内置函数)
count() 计算列表元素重复次数
>>> member=[1,1,1,1,1,1,1,2]>>> member.count(1)7
index()索引 返回元素所在列表中的位置
>>> member=[1,2,3,9,23,34,6,6,7]>>> member.index(1)0>>> member=[1,2,3,9,23,34,6,6,7]>>> member.index(9,2,7)3
reverse 将列表原地翻转
>>> list1=[1,2,3,4]>>> list1.reverse()>>> list1[4, 3, 2, 1]
sort() 默认从小到大排序,归并排序
>>> list1=[9,65,34,13,67,9,45,12]>>> list1.sort()>>> list1[9, 9, 12, 13, 34, 45, 65, 67]
如何从大到小排序呢
>>> 列表名.sort()>>> 列表名.reverse()#或者>>> 列表名.sort(reverse=True)
clear()清空列表
>>> list2.clear()>>> list2[]
copy() 拷贝得到新的列表
>>>list1=[1, [1, 2, ['打飞机']], 3, 5, 8, 13, 18]>>> list2 = list1.copy()>>> list2[1, [1, 2, [打飞机']], 3, 5, 8, 13, 18]
9:列表推导式
>>> list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]list1 = []for x in range(10): for y in range(10): if x%2 == 0: if y%2 != 0: list1.append((x, y))------------------------------------------------------------------------------------#连线游戏list1=['1.jost do it','2.you','3.can ','4.change the word']list2=['4.阿迪达斯','3.李宁','2.卡帕','1.耐克']>>> list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]