無序的字典用於儲存大量資料,字典要比列表快,將資料和資料之間進行關聯
lst=["劉德華","張學友","林俊傑","胡歌"]
lst2=["帥","酷","厲害","好"]
print(lst[0]+lst[0])
結果劉德華 帥
定義乙個字典:
dic=
字典中每乙個逗號分割叫乙個元素"宋佳」是乙個鍵:男是乙個值--鍵值對
dic=
print(dic)
結果
字典的鍵:
可雜湊的--不可變的資料型別--避免雜湊衝突使用了 開放定址法
不可雜湊的--可變的資料型別
字典的值可以任意,字典的鍵要求唯一 如果有重複後面的值將會覆蓋前面的值 字典是可變的型別資料 可以修改
暴力新增
2.setdefault
dic=
1.暴力新增
dic["喜好"]="唱跳"
print(dic)
結果## dic[鍵]=[值]
2.setdefault
dic.setdefault("喜好","唱跳")
鍵 值
這個鍵去字典查詢,如果不存在 就新增 ;存在 就不新增
del通過字典鍵 刪除鍵值對
pop 通過字典的鍵 刪除鍵值對 返回值:返回的是被刪除的值
clear 清空 清空字典
dic=
del.dic["喜好"] #刪除鍵 刪除鍵值對
dic=
dic.pop("分數") #刪除鍵 達到刪除鍵值對效果
dic=
dic.clear() #清空列表
dic=
dic["分數"]=60
# 字典中沒有某個鍵值的時候就是新增 當鍵在字典中存在就是修改
有則改 無則加
update: 更新
dic=
dic.update(dic)
# uodate括號中的字典級別高於update前面的字典
dic=
for i in dic
print(i)
# 迴圈獲取的是字典中每個鍵值對的鍵
getprint(dic.get("宋佳"))
# 通過鍵獲取值 ,如果不存在字典中返回none 不存在就會報錯
存在就是顯示
dic=
print(dic.keys()) #高仿列表--dict keys(['宋佳'分數','性格']) 獲取的是鍵
print(dic.values()) 獲取的是鍵
for i in dic:
print(i) #獲取的是鍵
print(i,dic.get(i))# 獲取所有鍵和值
## 高仿列表支援for迴圈 不支援索引 :
for i in dic.keys():
print(i)
print(i,dic.get(i))
print(del.keys()[0])
#vluse獲取字典所有的值 keys獲取所有鍵 items獲取的是鍵和值
print(dic.items())
a,b=10,20
a,b=b,a
print(a,b)
結果a=20
b=10
a,_,b=(3,4,5)
print(a,b)
a=3b=5 #等號後面的值和前面的變數名要一一對應
a=10,12 #本質就是乙個元組
print(a)
(10,12)
a,b=
print(a,b)
1 2
a,b="23"
print(a,b)
2 3
###keys--獲取字典中所有的鍵 存放在乙個高仿列表中
values--獲取字典中所有的值 存放在乙個高仿列表中
items --獲取字典中所有的鍵和值 存放在乙個高仿列表裡的元祖
#!!!獲取每個元素的鍵和值
for k,v in dic.items():
print(k,v)
字典的內建方法比較
clear 可以清空乙個字典,還有一種方式是直接給變數賦值為乙個空的字典。a e a e a a e 直接給變數名賦值為乙個空字典並沒有改變原來的字典,只是重新分配了乙個新的字典給a。a e a e a.clear a e get 獲得給定健的值,當鍵不存在時返回none。a a.get b 1 a...
c 全排列的字典序
背景 7 3 輸出全排列 20 分 請編寫程式輸出前n個正整數的全排列 n 10 並通過9個測試用例 即n從1到9 觀察n逐步增大時程式的執行時間。輸入格式 輸入給出正整數n 10 輸出格式 輸出1到n的全排列。每種排列佔一行,數字間無空格。排列的輸出順序為字典序 輸入樣例 3輸出樣例 123132...
建立字典的幾種方式(全)
1,建立空字典 dic type dic output 2,直接賦值建立字典 dic 3,通過dict將二元組列表建立為字典 list aaa 1 bbb 2 ccc 3 dic dict list 4,通過dict和關鍵字引數 指的等式例如 spam 1 建立 list dict aaa 1,bb...