Pythondict的綜合應(yīng)用有哪些

本篇內(nèi)容主要講解“Python dict的綜合應(yīng)用有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Python dict的綜合應(yīng)用有哪些”吧!

成都創(chuàng)新互聯(lián)從2013年開(kāi)始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元右玉做網(wǎng)站,已為上家服務(wù),為右玉各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575

題目 

1 寫(xiě)一個(gè)程序,合并字典里面相同 key 的值。

  • 輸入:
    d1 = {'a': 100, 'b': 200, 'c':300} d2 = {'a': 300, 'b': 200, 'd':400}

  • 輸出:
    {'a': 400, 'b': 400, 'd': 400, 'c': 300}

 

2 寫(xiě)一個(gè)程序,打印出字典里面所有唯一的值。

  • 輸入:
    [{"V":"S001"}, {"V": "S002"}, {"VI": "S001"}, {"VI": "S005"}, {"VII":"S005"}, {"V":"S009"},{"VIII":"S007"}]

  • 輸出:
    {'S005', 'S002', 'S007', 'S001', 'S009'}

 

3 把字典中的值分別取出,打印出不同字母的排列組合。

  • 輸入:
    {'1':['a','b'], '2':['c','d']}

  • 輸出:ac ad bc bd


解答 

1

這個(gè)題目,可以用循環(huán)+判斷的方式,一個(gè)個(gè)的把值加起來(lái),但是有點(diǎn)麻煩,直接用 Python 里面一個(gè)內(nèi)置的模塊可以輕松搞定。

from collections import Counter

d1 = {'a': 100, 'b': 200, 'c':300}
d2 = {'a': 300, 'b': 200, 'd':400}
d = Counter(d1) + Counter(d2)
print(dict(d))
   

2

這個(gè)題目,可以記住 DE8UG 的小提示,只要是涉及到唯一值的,很多都可以用 set 的排重的特點(diǎn)去完成。比如,這里只需要先把字典循環(huán),然后取到每個(gè)字典的值,最后用 set 把重復(fù)的值取出,搞定。

L = [{"V":"S001"}, {"V": "S002"}, {"VI": "S001"}, {"VI": "S005"}, {"VII":"S005"}, {"V":"S009"},{"VIII":"S007"}]
print("Original List: ", L)

u_value = set( val for dic in L for val in dic.values())
print("Unique Values: ", u_value)
  

3

這題目可以有兩個(gè)做法。一個(gè)是直接取到字典里的所有值,轉(zhuǎn)換成列表,然后分別循環(huán)每個(gè)列表,把相應(yīng)的字母相加即可。

d = {'1': ['a', 'b'], '2': ['c', 'd']}
la, lb = list(d.values())
print(la, lb)
print([(x+y) for x in la for y in lb])
 

另一個(gè)做法是使用 python 的 itertools,用里面的 product 方法直接去自動(dòng)計(jì)算,其實(shí)內(nèi)部和上一段代碼的雙層 for 循環(huán)實(shí)現(xiàn)方法類似。注意查看官方文檔,參數(shù)位置需要一個(gè)星號(hào)。

import itertools

d = {'1': ['a', 'b'], '2': ['c', 'd']}
print(list(d.values()))

for combo in itertools.product(*list(d.values())):
   print(''.join(combo))

到此,相信大家對(duì)“Python dict的綜合應(yīng)用有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

文章標(biāo)題:Pythondict的綜合應(yīng)用有哪些
標(biāo)題路徑:http://muchs.cn/article12/jopjgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、建站公司、網(wǎng)站營(yíng)銷(xiāo)、軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)