日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python我想对你说_python学习第3天-----字典、解构

發布時間:2023/12/2 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python我想对你说_python学习第3天-----字典、解构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.字典

1)定義:查找速度快,效率高;用{}括起來,內部使用key:value的形式來保存數據;鍵值對是無序的,不是按照定義的方式保存數據的(類似于json文件),

例如:?{'jay':'周杰倫','jj'::'林俊杰'}

注:字典的key必須是可哈希的(先將key通過hash算法轉化成一個hash值,再通過hash值直接找到值),不可變的;而對于value是沒有限制的

#如下字典為錯誤定義:

dic = {"cat":"小貓","dog":"小狗",["fruit"]:"apple"}print(dic)

報錯:

TypeError: unhashable type:'list'

View Code

2)字典的增加

①普通增加

dic = {"cat":"小貓","dog":"小狗"}

dic["pig"]="小豬佩奇"

print(dic)

輸出:

{'pig': '小豬佩奇', 'dog': '小狗', 'cat': '小貓'}

View Code

注:如果key存在了會替換掉原來的數據

dic = {"cat":"小貓","dog":"小狗"}

dic["pig"]="小豬佩奇"dic["pig"]="小豬喬治"

print(dic)

輸出:

{'dog': '小狗', 'cat': '小貓', 'pig': '小豬喬治'}

View Code

②通過函數setdefault對字典進行增加

dic = {"cat":"小貓","dog":"小狗"}

dic["pig"]="小豬佩奇"dic.setdefault("panda","小熊貓")print(dic)

輸出:

{'dog': '小狗', 'panda': '小熊貓', 'cat': '小貓', 'pig': '小豬佩奇'}

View Code

注:通過函數setdefault()添加,如果字典中已經包含了這個key,那么不再往字典中繼續保存新的值,還是原來的值

dic = {"cat":"小貓","dog":"小狗"}

dic["pig"]="小豬佩奇"dic.setdefault("panda","小熊貓")

dic.setdefault("panda","中華大熊貓")print(dic)

輸出:

{'pig': '小豬佩奇', 'cat': '小貓', 'panda': '小熊貓', 'dog': '小狗'}

View Code

3)字典的刪除

①通過pop用key去刪除數據(刪除一個字典元素,返回字典的value值)

dic = {"cat":"小貓","dog":"小狗"}

dic["pig"]="小豬佩奇"res= dic.pop("dog")print(res)print(dic)

輸出:

小狗

{'cat': '小貓', 'pig': '小豬佩奇'}

View Code

②通過del刪除字典中的元素

dic = {"cat":"小貓","dog":"小狗"}

dic["pig"]="小豬佩奇"

del dic["cat"]print(dic)

輸出:

{'dog': '小狗', 'pig': '小豬佩奇'}

View Code

③通過popitem隨機刪除字典中的元素(會返回一個元組)

dic = {"cat":"小貓","dog":"小狗"}

dic["pig"]="小豬佩奇"res=dic.popitem()print(res)print(dic)

輸出:

('cat', '小貓')

{'pig': '小豬佩奇', 'dog': '小狗'}

View Code

④清空字典中的所有元素

dic = {"cat":"小貓","dog":"小狗"}

dic["pig"]="小豬佩奇"dic.clear()print(dic)

輸出:

{}

View Code

4)字典的修改

①將字典一中的內容更新到字典二中,如果key重名,則進行替換,如果key值不存在,進行新增

dic_1 = {"cat":"小貓","dog":"小狗"}

dic_2= {"pig":"小豬","panda":"小熊貓","cat":"大花貓"}

dic_1.update(dic_2)print(dic_1)print(dic_2)

輸出:

{'dog': '小狗', 'panda': '小熊貓', 'cat': '大花貓', 'pig': '小豬'}

{'panda': '小熊貓', 'cat': '大花貓', 'pig': '小豬'}

View Code

例:對key的值進行修改

dic = {'id':1,'name':"馬云",'money':10000000}

dic['money'] = dic['money'] - 500000

print(dic)

輸出:

{'money': 9500000, 'name': '馬云', 'id': 1}

View Code

5)字典元素的查找

①按照[],通過key取值 (? []中的值就類似于索引 );通過該方法查值,如果字典中的key不存在,就會報錯

dic_2 = {"pig":"小豬","panda":"小熊貓","cat":"大花貓"}print(dic_2['panda'])

輸出:

小熊貓

View Code

②通過get方法,通過key取值;如果key不存在,則返回None

dic_2 = {"pig":"小豬","panda":"小熊貓","cat":"大花貓"}print(dic_2.get("pig"))print(dic_2.get("dog"))

輸出:

小豬

None

View Code

#通過get獲取值時,如果字典中key值不存在,返回None,可以設定一個默認值,當key值不存在時返回一個默認值

dic = {"pig":"小豬","panda":"小熊貓","cat":"大花貓"}print(dic.get("dog","不存在"))

輸出:

不存在

View Code

③通過setdefault獲取字典中對應key的值

注:setdefault首先判斷原來字典中有沒有key,如果沒有,則執行新增;其次用這個key去字典中查詢,返回查到的結果

dic = {"pig":"小豬","panda":"小熊貓","cat":"大花貓"}print(dic.setdefault("panda"))

輸出:

小熊貓

View Code

#獲取setdefault存入的值

dic = {"pig":"小豬","panda":"小熊貓","cat":"大花貓"}

res= dic.setdefault('dog',"小奶狗")print(res)print(dic)

輸出:

小奶狗

{'panda': '小熊貓', 'dog': '小奶狗', 'pig': '小豬', 'cat': '大花貓'}

View Code

#如果原來的字典中,存在這個key,則直接返回原來的值

dic = {"pig":"小豬","panda":"小熊貓","cat":"大花貓"}

res= dic.setdefault('panda',"大大大大熊貓")print(res)print(dic)

輸出:

小熊貓

{'panda': '小熊貓', 'cat': '大花貓', 'pig': '小豬'}

View Code

6)字典的相關操作

①返回字典中所有的key(返回key的集合,像是列表,但是不是列表,也可以進行迭代循環)

dic = {"pig":"小豬","panda":"小熊貓","cat":"大花貓"}print(dic.keys())for i indic.keys():print(i)

輸出:

dict_keys(['pig', 'cat', 'panda'])

pig

cat

panda

View Code

②返回字典中所有的值(像是列表,但是不是列表,也可以進行迭代循環)

dic = {"pig":"小豬","panda":"小熊貓","cat":"大花貓"}print(dic.values())for i indic.values():print(i)

輸出:

dict_values(['小豬', '小熊貓', '大花貓'])

小豬

小熊貓

大花貓

View Code

③獲取所有的鍵值對(每一項都是一個元組)

dic = {"pig":"小豬","panda":"小熊貓","cat":"大花貓"}print(dic.items())for i indic.items():print(i)

輸出:

dict_items([('pig', '小豬'), ('cat', '大花貓'), ('panda', '小熊貓')])

('pig', '小豬')

('cat', '大花貓')

('panda', '小熊貓')

View Code

#通過元組的索引分別獲取key和values的值

dic = {"pig":"小豬","panda":"小熊貓","cat":"大花貓"}print(dic.items())for i indic.items():print(i[0]) #獲取key

print(i[1]) #獲取values

輸出:

dict_items([('cat', '大花貓'), ('pig', '小豬'), ('panda', '小熊貓')])

cat

大花貓

小豬

panda

小熊貓

View Code

2.解構/解包:

把元組中每一個元素拿出來,賦值給前面的變量,這種方式叫做解包(列表也適用)

a,b = 1,2

a,b = (1,2)

a,b = [1,2]

#例1

a,b = (1,2)print(a,b)

輸出:1 2

View Code

#例2

a,b,c = ('古力娜扎','馬兒扎哈','迪麗熱巴')print(b)

輸出:

馬兒扎哈

View Code

#通過解構的方式,遍歷items中的key和values

dic = {"pig":"小豬","panda":"小熊貓","cat":"大花貓"}print(dic.items())for item indic.items():

k,v=itemprint(k,v)

輸出:

dict_items([('panda', '小熊貓'), ('pig', '小豬'), ('cat', '大花貓')])

panda 小熊貓

pig 小豬

cat 大花貓

View Code

#解構進階

dic = {"pig":"小豬","panda":"小熊貓","cat":"大花貓"}print(dic.items())for k,v indic.items():print(k,v)

輸出:

dict_items([('pig', '小豬'), ('panda', '小熊貓'), ('cat', '大花貓')])

pig 小豬

panda 小熊貓

cat 大花貓

View Code

總結:

1)keys:獲取到字典中所有的key,然后存在一個高仿列表中

2)values:獲取到字典中所有的value,然后存在一個高仿的列表中

3)items:獲取到所有的鍵值對,以元組的形式存放在高仿的列表中

3.字典的嵌套

#字典嵌套取值練習

dic ={'name':"阿貍",'age':"18",'nickname':"九尾妖狐",'skill': {'q':"欺詐寶珠",'w':"妖異狐火",'e':"魅惑妖術",'r':"靈魂突襲"},'hoby':['包子','猴子']

}print(dic["skill"]["r"])print(dic["hoby"][1])

輸出:

靈魂突襲

猴子

View Code

4.練習

1)有字符串"k:1|k1:2|k2:3|k3:4"處理成字典{'k':1,'k2':2….}

s = "k:1|k1:2|k2:3|k3:4"s_new= s.split("|")print(s_new)

dic={}for i ins_new:

k,v= i.split(":")

dic[k]=int(v)print(dic)

輸出:

['k:1', 'k1:2', 'k2:3', 'k3:4']

{'k3': 4, 'k1': 2, 'k2': 3, 'k': 1}

View Code

2)按照如下需求處理列表

①頁面顯示: 序號 + 商品名稱 + 商品價格,如:

1 電腦 1999

2 鼠標 10

.。。

②用戶輸入選擇的商品序號,然后打印商品名稱及商品價格

③如果用戶輸入的商品序號有誤,則提示輸入有誤,并重新輸入

④用戶輸入Q或者q,退出程序

⑤列表如下:

goods = [{'name':"電腦",'price':1999},{'name':"鼠標",'price':10},{'name':"游艇",'price':20},{'name':"美女",'price':998},]

#步驟1

goods = [{'name':"電腦",'price':1999},

{'name':"鼠標",'price':10},

{'name':"游艇",'price':20},

{'name':"美女",'price':998},]for i ingoods:print(goods.index(i),i['name'],i['price']) #doods.index(i) 先獲取到列表中元素的下標

輸出:1 電腦 1999

2 鼠標 10

3 游艇 20

4 美女 998

View Code

#步驟2

goods = [{'name':"電腦",'price':1999},

{'name':"鼠標",'price':10},

{'name':"游艇",'price':20},

{'name':"美女",'price':998},]while 1:for i ingoods:print(goods.index(i)+1,i['name'],i['price']) #doods.index(i) 先獲取到列表中元素的下標

str_input = input("請輸入你要選擇的序號,按Q/q退出:")if str_input.isdigit() and int(str_input) > 0 and int(str_input)

i_index= int(str_input) -1

print(goods[i_index]['name'],goods[i_index]['price'])elif str_input.upper() == "Q":break

else:print("輸入有誤,請重新輸入")

View Code

總結

以上是生活随笔為你收集整理的python我想对你说_python学习第3天-----字典、解构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 草久在线观看视频 | 日韩国产欧美一区二区三区 | 青青久久久 | 日韩欧美一区二区区 | 国产精品一区二区性色av | 亚洲字幕 | 国产精品99久久久久久动医院 | 日本a级无毛 | 成人日韩在线观看 | 奇米影音 | 亚洲欧美一区二区三区在线 | 中文字幕影片免费在线观看 | 欧美黄色片免费看 | 四虎永久在线观看 | 国产精品久久久久久影视 | 精品无码久久久久国产 | 国产aⅴ无码片毛片一级一区2 | www.成人免费 | av手机免费看 | 激情久久久久久久 | 99国产精品免费视频 | 国产r级在线 | 成人合集 | 欧美性生活一区二区 | 日韩美女性生活 | 日日弄天天弄美女bbbb | 67194少妇在线观看 | 天天爱天天舔 | 大波大乳videos巨大 | 色啪视频| 蜜臀一区二区三区 | 国产精品theporn动漫 | 亚洲视频1区 | 男人av资源网 | 国产精品久久久久久久久久久久久久久久 | 亚洲av日韩av高潮潮喷无码 | 成人小视频在线看 | 日本精品在线播放 | 爱情岛论坛成人 | 日b在线观看 | 欧美日韩一级二级 | 亚洲在线第一页 | 黄色性大片 | 国产日韩一区二区三区 | 影音先锋中文字幕第一页 | 国产精品一二三四五区 | 中国在线观看免费高清视频播放 | 婷婷四房播播 | 欧美一级录像 | 日本a v在线播放 | 国产1级片 | 国产精品无码午夜福利 | 中文字幕av二区 | www插插插无码免费视频网站 | 四虎影院在线观看免费 | 日韩视频在线观看一区二区 | 日韩一及片 | 91吃瓜今日吃瓜入口 | 日日夜夜综合网 | 成人午夜激情 | 色欧美片视频在线观看 | www.四虎在线观看 | 日日骚视频| 无码日韩精品一区二区 | 国产aaa视频 | 农民工hdxxxx性中国 | 日本一区二区三区视频在线观看 | 国产精品一区二区小说 | 自拍天堂| 国产精品--色哟哟 | 精品一区二区三区免费毛片爱 | 日韩一区二区免费看 | 双性尿奴穿贞c带憋尿 | 美女的奶胸大爽爽大片 | 日韩久久一区二区三区 | 欧洲av一区二区三区 | 男女黄床上色视频 | 国产内谢 | 琪琪色在线观看 | 37p粉嫩大胆色噜噜噜 | 在线免费黄色片 | 国产精品亚洲五月天丁香 | 欧美一区二区免费电影 | 国产成人精品一区二区三区无码熬 | 亚洲狼人综合 | np视频| xxxx999 | 深夜福利一区二区三区 | 99这里有精品视频 | 91一区二区 | 欧美一区二区三区电影 | 天天摸日日干 | 少妇精品无码一区二区 | 亚洲黄色网址大全 | 人妻少妇被猛烈进入中文字幕 | 久久经典| 91视频a| 欧美大片免费 | 日本一区二区视频免费 |