Python_基礎_(列表,元組,字典)
################## 列表中的基本操作 ##################
1.列表的基本形式
Li = [1,2,3,”henry”,”hello”,[“hhhh”,”aaaa”]]
# 用中括號括起來
# 利用逗號分割每個元素
# 列表是有序的
# 列表中的元素可以是數字,字符串,也可以嵌套列表,也可以是布爾值
2.列表為可叠代類型,支持for循環,也支持whilw循環
3.列表的存儲與字符串的存儲方式不同,列表通過鏈表進行存儲,不需要連續的空間,列表元素可在原列表中進行修改,不必創建新的列表(對字符串的修改相當於創建新的空間來存放字符串)
4.列表索引或切片
5.用索引來刪除元素 del [1]
6.利用切片來刪除元素 del [0:3]
7.in 操作 # 判斷一個元素或字符串是否在列表中
>>> test = ["aaa","b","ccc",1,2,3,] >>> a = "aaa" in test >>> a True >>>
8.將一個字符串轉為列表(不能對數字進行for循環,所以不能將數字轉為列表)
>>> test = "helloworld" >>> new_test = list(test)>>> new_test [‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘w‘, ‘o‘, ‘r‘, ‘l‘, ‘d‘] >>>
9.將字符串進行拼接
test_list = [11,22,33,"hello","world"] s = " " for item in test_list: s = s + str(item) print(s) # 輸出 112233helloworld ################################ 當列表中只包含字符串時,有數字時不能用join進行拼接 test_list = ["hello","world"] print(",".join(test_list)) # 輸出為 hello,world
################## 列表中的方法 ##################
1.test.append(x) # 在列表test後追加元素x
2.test.clear() # 清空列表
3.test_new = test.copy() # 淺拷貝
4.test.count(x) # 計算列表中元素x的出現次數,不帶參數則報錯
5.append() 和 extend() 的區別
# append() # 將括號中的列表當成一個元素 >>> test = [1,2,3,4,5] >>> test.append([111,"hello"]) >>> test [1, 2, 3, 4, 5, [111, ‘hello‘]] # extend() # 將列表的每個元素插入 >>> test = [1,2,3,4,5] >>> test.extend([111,"hello"]) >>> test [1, 2, 3, 4, 5, 111, ‘hello‘] >>> # 插入字符串 test.extend("aaa") # [1, 2, 3, 4, 5, ‘a‘, ‘a‘, ‘a‘] test.append("aaa") # [1, 2, 3, 4, 5, ‘aaa‘]
6.test.index(a,start=None,end=None) # 查找,找到第一個就停止查找,指定開始statrt,結束end位置,返回索引值
7.test.insert(0,99) # 在指定的位置插入指定元素,在索引0處插入元素99,原先索引位置的元素往後移
8.a = test.pop(x) # 刪除索引x處的元素(默認刪除最後一個元素),並返回當前被刪除的值
>>> test = [1,2,3,4,5] >>> a = test.pop(2) >>> a 3
9.test.remove(a) # 刪除列表中指定的元素 a,刪除列表從左到右第一個元素a
10.test.reverse() # 將列表test反轉
>>> test = [1,2,3,2,4,5] >>> test.reverse() >>> test [5, 4, 2, 3, 2, 1] >>>
11.test.sort() # 將當前列表進行排序,默認從小到大,括號中可指定從大到小 reverse=True
二,元組1.基本形式:tu = (11,22,33,44,55)
2.特性:元素不能被修改,不能增加或刪除元素,元組為有序的
3.一般寫元組時,在元組的最後加上一個","(對長度沒有影響) 用來區別元組和方法
4.對元組進行切片,索引 tu[1:2] tu[0]
5.元組/列表/字符串,三者之間可以進行相互轉換
# 元組->列表 tu = (1,2,4,"111","hello") li = list(tu) print(li) # [1, 2, 4, ‘111‘, ‘hello‘] # 列表->元組 li = [1,2,4,"111","hello"] tu = tuple(li) print(tu) # (1, 2, 4, ‘111‘, ‘hello‘) # 列表->字符串 li = [1,2,4,"111","hello"] s = str(li) print(s) # [1, 2, 4, ‘111‘, ‘hello‘] # 字符串->列表 s = "1,2,4,111,hello" li = list(s) print(li) # [‘1‘, ‘,‘, ‘2‘, ‘,‘, ‘4‘, ‘,‘, ‘1‘, ‘1‘, ‘1‘, ‘,‘, ‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘] # 元組->字符串 tu = (1,2,4,"111","hello") s = str(tu) print(s) #(1, 2, 4, ‘111‘, ‘hello‘) # 字符串->元組 s = "1,2,4,111,hello" tu = list(s) print(tu) # [‘1‘, ‘,‘, ‘2‘, ‘,‘, ‘4‘, ‘,‘, ‘1‘, ‘1‘, ‘1‘, ‘,‘, ‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘]轉換示例
6.元組的一級元素不可被修改/刪除/增加
>>> tu = (1,"hello",(11,22),[11,22],True,11) >>> tu[0] = 2 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: ‘tuple‘ object does not support item assignment >>>
6.若元組的二級元素不再是元組,則可對其進行修改
>>> tu = (1,"hello",(11,22),[11,22],True,11) >>> tu[3][0] = 33 >>> tu (1, ‘hello‘, (11, 22), [33, 22], True, 11) >>>三,字典
1.字典的基本形式:info = {"k1":"v1","k2":"v2"}
2.字典就是鍵值對形式: key:value
3.註
value:可以是任意值,字符串,元組,列表均可
key:數字,字符串,元組,布爾值(但應註意會和0和1會重復 出現重復只保留其中的一個)
列表不能作為字典key
字典不能作為字典的key
4.當字典中的鍵key出現重復時 只保留其中的一個
5.字典是無序的,例如每次打印出來的順序會不同
6.info["k1"] 根據鍵值對的鍵來進行查找
7.因為字典是無序的,所以不能通過切片方式進行查找
8.對字典進行循環,默認進行循環的是字典的key
for item in info:
print(item) 輸出為 k1 k2
for item in info.key:# 取得鍵值對的鍵
print(item)for item in info.value:# 取得鍵值對的值
print(item)for k,v in info.items: # 取得鍵值對
print(k,v)
################## 列表中的方法 ##################
1.a = dict.fromkeys(["k1 ",123,"999"],123) # 創建一個新的字典,其中鍵由叠代和值設置為值
(1, ‘hello‘, (11, 22), [33, 22], True, 11) >>> a = dict.fromkeys(["k1 ",123,"999"],123) >>> a {‘999‘: 123, 123: 123, ‘k1 ‘: 123} >>>
2.v = info.pop(‘k1‘) # 刪除當前的鍵值對 並且可以獲得當前所刪除鍵值對的值
3.v = info.popitem() # 隨機刪除一個鍵值對 並返回所刪除的值
4.info.setdefault("k1","hello")
# 設置值 當前的key已經存在的話 獲取當前key對應的值 # 如果key不存在的話 設置當前的鍵值對 並獲取當前key 對應的值 # 當key值存在時 info = {"k1":"v1","k2":"v2"} a = info.setdefault("k1","hello") print(a) # 輸出為 v1 # 當key不存在時 info = {"k1":"v1","k2":"v2"} a = info.setdefault("k3","hello") print(a) # 輸出為 hello
5.info.update({"xxx":"yyy"}) # 更新當前字典
info = {"k1":"v1","k2":"v2"} a = info.update({"k3":"hello"}) print(info) # 輸出 {‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘, ‘k3‘: ‘hello‘}
6.根據key獲取值,存在時,返回該值,當key不存在時,返回None
info = {"k1":"v1","k2":"v2"} v = info.get(‘k5‘) print(v) # 輸出的結果為 v1
未完待續.....
Python_基礎_(列表,元組,字典)