1:列表: Python的列表比C語言的數組強大的多,數組只能存放相同類型的數據,而列表則像一個大集裝箱可以存放整形、浮點型、字元串、對象等 2:創建列表的方法 3:向列表中添加元素的方法 1)append() 向列表末尾添加一個參數 2)extend() 參數為一個列表,從原列表擴展原有列表 3) ...
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=list1 list3不是一個新的列表,它和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>list2 False >>> list1<list2 True
2)邏輯操作符
list1=[1,8,3] list2=[4,5,6] >>> list1<list2 and list1>list2 False
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 member True
>>> 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]]