字典作業
1,有如下變數(tu是個元祖),請實現要求的功能
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
a. 講述元祖的特性
b. 請問tu變數中的第一個元素 "alex" 是否可被修改?
c. 請問tu變數中的"k2"對應的值是什麼型別?是否可以被修改?如果可以,請在其中新增一個元素 "Seven"
d. 請問tu變數中的"k3"對應的值是什麼型別?是否可以被修改?如果可以,請在其中新增一個元素 "Seven"
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44]) 元組裡的元素不可變 不可以修改 列表型別 可以 tu[1][2]["k2"].append("Seven") print(tu) 元組型別 不可以
2, 字典dic,dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
a. 請迴圈輸出所有的key
b. 請迴圈輸出所有的value
c. 請迴圈輸出所有的key和value
d. 請在字典中新增一個鍵值對,"k4": "v4",輸出新增後的字典
e. 請在修改字典中 "k1" 對應的值為 "alex",輸出修改後的字典
f. 請在k3對應的值中追加一個元素 44,輸出修改後的字典
g. 請在k3對應的值的第 1 個位置插入個元素 18,輸出修改後的字典
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]} for i in dic.keys(): print(i) for i in dic.values(): print(i) for k, v in dic.items(): print(k,v) dic["k4"]="v4" dic["k1"]="alex" dic["k3"].append(44) dic["k3"].insert(0,18) print(dic)
3,av_catalog = {
"歐美":{
"www.youporn.com": ["很多免費的,世界最大的","質量一般"],
"www.pornhub.com": ["很多免費的,也很大","質量比yourporn高點"],
"letmedothistoyou.com": ["多是自拍,高質量圖片很多","資源不多,更新慢"],
"x-art.com":["質量很高,真的很高","全部收費,屌絲請繞過"]
},
"日韓":{
"tokyo-hot":["質量怎樣不清楚,個人已經不喜歡日韓範了","verygood"]
},
"大陸":{
"1024":["全部免費,真好,好人一生平安","伺服器在國外,慢"]
}
}
a,給此 ["很多免費的,世界最大的","質量一般"]列表第二個位置插入一個 元素:'量很大'。
b,將此 ["質量很高,真的很高","全部收費,屌絲請繞過"]列表的 "全部收費,屌絲請繞過" 刪除。
c,在此 ["質量很高,真的很高","全部收費,屌絲請繞過"]列表中新增"金老闆最喜歡這個"。
d,將此["質量怎樣不清楚,個人已經不喜歡日韓範了","verygood"]列表的 "verygood"全部變成大寫。
e,給'大陸' 對應的字典新增一個鍵值對 '1048' :['一天就封了']
f,刪除此"letmedothistoyou.com": ["多是自拍,高質量圖片很多","資源不多,更新慢"]鍵值對。
g,給此["全部免費,真好,好人一生平安","伺服器在國外,慢"]列表的第一個元素,加上一句話:'可以爬下來'
av_catalog = { "歐美":{ "www.youporn.com": ["很多免費的,世界最大的","質量一般"], "www.pornhub.com": ["很多免費的,也很大","質量比yourporn高點"], "letmedothistoyou.com": ["多是自拍,高質量圖片很多","資源不多,更新慢"], "x-art.com":["質量很高,真的很高","全部收費,屌絲請繞過"] }, "日韓":{ "tokyo-hot":["質量怎樣不清楚,個人已經不喜歡日韓範了","verygood"] }, "大陸":{ "1024":["全部免費,真好,好人一生平安","伺服器在國外,慢"] } } av_catalog["歐美"]["www.youporn.com"].insert(1,"量很大") del av_catalog["歐美"]["x-art.com"][1] av_catalog["歐美"]["x-art.com"].append("金老闆喜歡這個") av_catalog["日韓"]["tokyo-hot"][1] = av_catalog["日韓"]["tokyo-hot"][1].upper() av_catalog["大陸"].setdefault("1048",['一天就封了']) av_catalog["歐美"].pop("letmedothistoyou.com") av_catalog["大陸"]["1024"].insert(0,"可以爬下來") print(av_catalog)
4、有字串 "k:1|k1:2|k2:3|k3:4" 處理成字典 {'k':1,'k1':2....} (升級題)
m = {} s = "k:1|k1:2|k2:3|k3:4" s1 = s.split("|") for i in s1: # print(i) k , v = i.split(":") # print(k,v) v = int(v) m.setdefault(k,v) print(m)
5、元素分類
有如下值li= [11,22,33,44,55,66,77,88,99,90],將所有大於 66 的值儲存至字典的第一個key中,將小於 66 的值儲存至第二個key的值中。
即: {'k1': 大於66的所有值列表, 'k2': 小於66的所有值列表}
s = [] s1 =[] m ={} li= [11,22,33,44,55,66,77,88,99,90] for i in li: if int(i)>66: s.append(i) else: s1.append(i) m.setdefault("k1",s) m.setdefault("k2",s1) print(m)
6、輸出商品列表,使用者輸入序號,顯示使用者選中的商品(升級題)
商品列表:
goods = [{"name": "電腦", "price": 1999},
{"name": "滑鼠", "price": 10},
{"name": "遊艇", "price": 20},
{"name": "美女", "price": 998}, ]
要求:
1:頁面顯示 序號 + 商品名稱 + 商品價格,如:
1 電腦 1999
2 滑鼠 10
…
2:使用者輸入選擇的商品序號,然後列印商品名稱及商品價格
3:如果使用者輸入的商品序號有誤,則提示輸入有誤,並重新輸入。
4:使用者輸入Q或者q,退出程式。
m = [] while 1: goods = [{"name": "電腦", "price": 1999}, {"name": "滑鼠", "price": 10}, {"name": "遊艇", "price": 20}, {"name": "美女", "price": 998}, ] for i in range(len(goods)): print(i+1,goods[i]["name"],goods[i]["price"]) count = 1 n = input("輸入選擇的編號") if n.isdigit(): for i in range(len(goods)): if int(n) == i+1: print(goods[i]["name"],goods[i]["price"]) break elif int(n) > len(goods): print("輸入錯誤重新輸入") break elif n.upper() == "Q": break else: print("輸入錯誤重新輸入")