2018-5-31-Python全棧開發day12-列表,字典,元組
1.列表
列表是以中括號表示, 以逗號分隔。列表內可以嵌套各種,比如說字符串,列表,元組,字典,可以無限嵌套。
s1=[]
1.1 索引
s1=[‘alex‘,[123],{123},(123)]
v1=s1[0]---‘alex‘
1.2 切片
v2=s1[0:3]----[‘alex‘, [123], {123}]
切片依舊是左閉右開區間。
列表可以進行修改,是叠代器,可以進行for循環和while循環,可以不連續的存在內存當中。
例:s1[1]=222
print(s1)
[‘alex‘,222,{123},(123)]
1.3 對列表進行判斷
s= ‘alex‘ in s1
print(s)-----
True
其中,列表內的第一級元素是一個整體,只能判斷這個整體是否在列表中
2.列表的操作
2.1 找到列表內元素的子項
s1=[‘alex‘,[123,‘aa‘,‘bb‘],{123},(123)] #找到‘aa‘ v=s1[1][1] print(v)
----aa
2.2將字符串轉換為列表
將字符串轉換為列表,其內部是通過循環的方式實現的
比如講‘alex’轉換為列表,則
s1=‘alex‘ v1=[] for i in s1: v1.append(i)print(v1)
輸出:[‘a‘, ‘l‘, ‘e‘, ‘x‘]
想要利用這個功能,不能是int數字,因為數字int不是可叠代的。
2.3 將列表轉換為字符串
2.3.1列表內既有數字又有字符串
自己寫for循環-- +=
2.3.2列表內只有字符串
S1=[‘ALEX‘,‘AA‘,‘BB‘] V=‘‘.join(S1) print(V)
-----
ALEXAABB
2.4 list.append()將東西追加到列表尾部
s1=[‘alex‘,‘a‘,‘b‘] v=s1.append(‘good morning‘) print(s1)
-------
[‘alex‘, ‘a‘, ‘b‘, ‘good morning‘]
有一點和字符串不同,因為列表是可以直接進行修改的,所以,在上個例子中,如果是字符串,則需要用另一個V來代替s1,但是對於列表來說,直接進行修改了,是在原來列表的基礎上,所以v只是append這個動作完成了,所以輸出的還是s1
2.5 clear
對列表進行清除
s1=[‘alex‘,‘a‘,‘b‘] s1.clear() print(s1) ### []
2.6 copy,,淺拷貝
將一個列表拷貝到另外一個列表中
s1=[‘alex‘,‘a‘,‘b‘] s2=s1.copy() print(s2)
######
[‘alex‘, ‘a‘, ‘b‘]
2.7 count 進行計數,計算某個元素出現的次數
s1=[‘alex‘,‘a‘,‘b‘] s2=s1.count(‘alex‘) print(s2) ##### 1
2.8 extend() 拓展可叠代對象
叠代的東西一定是可以叠代的,而且內部是進行for循環
s1=[‘alex‘,‘a‘,‘b‘] s2=s1.extend(‘alex‘) print(s1) ######### [‘alex‘, ‘a‘, ‘b‘, ‘a‘, ‘l‘, ‘e‘, ‘x‘]
2.9 index 找到某元素的所在位置
s1=[‘alex‘,‘a‘,‘b‘] s2=s1.index(‘alex‘) print(s2)
1 ####### 2 0
2.10 insert 在指定位置插入某個元素
1 s1=[‘alex‘,‘a‘,‘b‘] 2 s1.insert(2,‘alex‘) 3 print(s1) 4 5 6 ######### 7 [‘alex‘, ‘a‘, ‘alex‘, ‘b‘]
2.11 pop刪除某個值並且獲取
1 s1=[‘alex‘,‘a‘,‘b‘] 2 s2=s1.pop(0) 3 print(s2) 4 print(s1) 5 6 ##### 7 alex 8 [‘a‘, ‘b‘]
如果pop後面沒有跟值,則默認刪除最後一個值
2.12 remove
直接刪除某個元素,但是並不獲取
2.13 reverse 對元素的順序進行反轉
s1=[11,22,33,444,55,66,] s2=s1.reverse() #print(s2) print(s1) ###### [66, 55, 444, 33, 22, 11]
2.14 sort
對列表的順序進行整理
s1=[11,22,33,444,55,66,] s2=s1.sort() #print(s2) print(s1) #### [11, 22, 33, 55, 66, 444]
總結:列表是有順序的,而且可以被修改
3.元組tuple
元組是對列表進行加工,使其不能被修改
元組內也可以包含任何東西
3.1 可以通過索引來獲取元組內的特殊值
3.2 可以通過切片來獲取元組內的特殊值
3.3 字符串、列表和元組可以進行相互轉換
3.4 可以進行for循環,也是可叠代對象
3.5 元組也是有序的
##########################
元組的方法:count和index
4.字典dict
keys:鍵
value:值
info={‘k1‘:v1,‘k2‘:v2}
value可以是任何類型
key不能是列表,也不能是字典
可以是布爾值,但是不能和其他沖突,比如說 True的默認值是1,。。
其中,False的默認值None,,空的字符串‘’,空的元組()。空的列表[],空的字典,和0.其他的都是True
字典是無序的
4.1 items
info={‘alex‘:123,"a":‘nishishei‘,‘v‘:555} for k,v in info.items(): print(k,v) alex 123 a nishishei v 555
4.2 clear清除
4.3copy 淺拷貝
4.4 fromkeys(key,value)
其中,key可以是可叠代器,value是一個固定的值,也就是將一個可叠代器內的所有元素,統一對應一個相同的value,形成字典
info=‘alex‘ s1={} v2=s1.fromkeys(info,222) print(v2) {‘a‘: 222, ‘l‘: 222, ‘e‘: 222, ‘x‘: 222}
4.5 get,根據key返回value,如果沒有返回默認值None,可以對None進行修改
info={‘alex‘:123,"a":‘nishishei‘,‘v‘:555} #info=‘alex‘ v2=info.get(567,222) print(v2) ------ 222
因為沒有key567,所以返回參數,222
4.6 pop(key,返回默認值)
如果沒有key,則返回默認值
如果有,則刪除並且獲取
4.7 popitem()
隨機刪除一堆鍵值對
4.8 setdefault(key,value)
如果字典內有這個key,則獲取這個key對應的value,如果沒有,則創建key和value
4.9update(key,value)
已經有的key進行修改,沒有的進行添加
2018-5-31-Python全棧開發day12-列表,字典,元組