欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python?中的嵌套字典推導(dǎo)的使用及優(yōu)勢

 更新時(shí)間:2023年05月19日 11:00:11   作者:跡憶客  
Python 字典推導(dǎo)是一個強(qiáng)大的工具,允許您從現(xiàn)有的字典創(chuàng)建新的字典,這篇文章主要介紹了Python中的嵌套字典推導(dǎo),將探索 Python 嵌套字典推導(dǎo)、它的使用以及在 Python 中使用它的優(yōu)勢,需要的朋友可以參考下

Python 字典推導(dǎo)是一個強(qiáng)大的工具,允許您從現(xiàn)有的字典創(chuàng)建新的字典。 它類似于列表理解,但它不是創(chuàng)建列表,而是創(chuàng)建字典。

字典推導(dǎo)是創(chuàng)建字典的一種非常簡潔的方法,當(dāng)您想從幾個元組創(chuàng)建字典時(shí)非常有用,其中一個元組包含鍵和值。

在本篇文章中,我們將探索 Python 嵌套字典推導(dǎo)、它的使用以及在 Python 中使用它的優(yōu)勢。

Python字典推導(dǎo)

詞典理解是一個強(qiáng)大的工具,我們可以使用它對詞典執(zhí)行各種操作,例如過濾、轉(zhuǎn)換或創(chuàng)建新詞典。

字典推導(dǎo)允許您從其他字典或其他可迭代數(shù)據(jù)類型創(chuàng)建字典。 它們還允許您指定鍵值對而不僅僅是值。

詞典理解最常用于從現(xiàn)有詞典創(chuàng)建新詞典。 例如,您可以創(chuàng)建一個僅包含現(xiàn)有字典中的鍵或值的新字典。

您還可以創(chuàng)建一個新字典,其中包含來自兩個現(xiàn)有字典的鍵和值。 我們還可以使用字典推導(dǎo)來操縱現(xiàn)有的字典。

例如,您可以在字典中添加或刪除項(xiàng)目或更改現(xiàn)有項(xiàng)目的值。

square_dict= dict()
for num in range(1,4):
    square_dict[num] = num*num
print(square_dict)
# dictionarycomprehension example
square_dict= {num: num*num for num in range(1, 4)}
print(square_dict)

輸出結(jié)果:

{1: 1, 2: 4, 3: 9}

{1: 1, 2: 4, 3: 9}

字典推導(dǎo)的句法

字典推導(dǎo)是一個方便的工具,用于從 Python 中的其他數(shù)據(jù)結(jié)構(gòu)創(chuàng)建字典。 語法簡單易讀 {key: value for (key, value) in iterable}。

代碼示例:

#The price of the item in dollars
old_price = {'price of milk': 2, 'price of coffee': 4, 'price of bread': 3.5}
dollar_to_pound = 0.76
new_price = {item: value*dollar_to_pound for (item, value) in old_price.items()}
print(new_price)

輸出:

{'price of milk': 1.52, 'price of coffee': 3.04, 'price of bread': 2.66}

Python嵌套字典推導(dǎo)

嵌套字典推導(dǎo)通過迭代一系列鍵值對,然后從這些鍵值對構(gòu)建一個新字典來工作。 新字典可以使用任何映射函數(shù)構(gòu)建,例如 dict.update 或 dict.fromkeys。

例如,考慮以下數(shù)據(jù)結(jié)構(gòu):

data = {
    'a': 1,
    'b': 2,
    'c': 3,
    'd': 4
}

要合成一個僅維護(hù)此數(shù)據(jù)結(jié)構(gòu)中的鍵的新字典,您可以使用以下嵌套字典推導(dǎo):

new_dict = {k: data[k] for k in data}
print(new_dict)

它會產(chǎn)生一個新的字典,看起來像這樣:

{'a': 1, 'b': 2, 'c': 3, 'd': 4}

您可以使用以下嵌套字典推導(dǎo)來合成一個僅維護(hù)此數(shù)據(jù)結(jié)構(gòu)中的值的新字典。

new_dict = {k: v for k, v in data.items()}

它會產(chǎn)生一個新的字典,看起來像這樣:

{'a': 1, 'b': 2, 'c': 3, 'd': 4}

如您所見,嵌套字典推導(dǎo)是一個強(qiáng)大的工具,可以快速高效地處理和操作復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。 這也是創(chuàng)建臨時(shí)數(shù)據(jù)結(jié)構(gòu)的一種簡單方法。

Python 中嵌套字典推導(dǎo)的語法

要創(chuàng)建嵌套字典推導(dǎo),請將另一個字典推導(dǎo)放在第一個字典推導(dǎo)的括號內(nèi)。

下面的例子創(chuàng)建了一個字典的字典,每個內(nèi)部字典包含不同水果的信息:

{key:value for key, value in outer_dict.items() if key =='fruit'}
{key:{'name':fruit['name'], 'colour':fruit['colour']} for key,fruit in outer_dict.items() if key == 'fruit'}

上面的第一個字典推導(dǎo)創(chuàng)建了一個字典,其中的鍵是水果的名稱,值是這些水果的顏色。

上面的第二個字典推導(dǎo)做同樣的事情,但增加了一個額外的嵌套級別,創(chuàng)建了一個字典的字典。

代碼示例:

dictionary ={
    k1: {k2: k1 * k2 for k2 in range(1, 3)} for k1 in range(2, 5)
}
print(dictionary)

輸出結(jié)果如下:

{2: {1: 2, 2: 4}, 3: {1: 3, 2: 6}, 4: {1: 4, 2: 8}}

嵌套字典推導(dǎo)的優(yōu)點(diǎn)

在 Python 中使用嵌套字典推導(dǎo)有幾個優(yōu)點(diǎn)。

  • 我們可以使用它們輕松地創(chuàng)建復(fù)雜的嵌套字典。
  • 我們可以使用它們來高效地處理大量數(shù)據(jù)。
  • 最后,我們可以使用它們在現(xiàn)有詞典的基礎(chǔ)上快速創(chuàng)建新詞典。

因此,了解嵌套字典推導(dǎo)式的工作原理,您可以在 Python 中快速高效地處理復(fù)雜數(shù)據(jù)。

到此這篇關(guān)于Python 中的嵌套字典推導(dǎo)的文章就介紹到這了,更多相關(guān)Python 字典推導(dǎo)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django零基礎(chǔ)入門之路由path和re_path詳解

    Django零基礎(chǔ)入門之路由path和re_path詳解

    這篇文章主要介紹了Django零基礎(chǔ)入門之路由path和re_path,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • python 第三方庫paramiko的常用方式

    python 第三方庫paramiko的常用方式

    這篇文章主要介紹了python 第三方庫paramiko的常用方式,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Python實(shí)現(xiàn)正弦信號的時(shí)域波形和頻譜圖示例【基于matplotlib】

    Python實(shí)現(xiàn)正弦信號的時(shí)域波形和頻譜圖示例【基于matplotlib】

    這篇文章主要介紹了Python實(shí)現(xiàn)正弦信號的時(shí)域波形和頻譜圖,涉及Python數(shù)學(xué)運(yùn)算與圖形繪制相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • Python獲取指定網(wǎng)段正在使用的IP

    Python獲取指定網(wǎng)段正在使用的IP

    這篇文章主要介紹了Python獲取指定網(wǎng)段正在使用的IP的示例代碼,幫助大家更好的利用python進(jìn)行測試,感興趣的朋友可以了解下
    2020-12-12
  • python遍歷文件夾并刪除特定格式文件的示例

    python遍歷文件夾并刪除特定格式文件的示例

    這篇文章主要介紹了python遍歷文件夾并刪除特定格式文件的示例,需要的朋友可以參考下
    2014-03-03
  • python如何實(shí)現(xiàn)lazy segment tree惰性段樹算法

    python如何實(shí)現(xiàn)lazy segment tree惰性段樹算法

    LazySegmentTree(惰性段樹)算法是一種數(shù)據(jù)結(jié)構(gòu),專門用于高效處理區(qū)間查詢和更新操作,它利用延遲更新技術(shù)(LazyPropagation),僅在必要時(shí)執(zhí)行實(shí)際更新,以提升效率,此結(jié)構(gòu)將數(shù)組表達(dá)為二叉樹,每個節(jié)點(diǎn)表示一個數(shù)組區(qū)間
    2024-10-10
  • Python中循環(huán)依賴問題及其解決方案

    Python中循環(huán)依賴問題及其解決方案

    在軟件開發(fā)中,循環(huán)依賴是一個常見的問題,尤其是在使用 Python 這樣的動態(tài)語言時(shí),循環(huán)依賴指的是兩個或多個模塊或組件相互依賴,形成一個閉環(huán),本文將探討 Python 中循環(huán)依賴的問題,并提供一些解決方案,需要的朋友可以參考下
    2024-06-06
  • 詳解OpenCV實(shí)現(xiàn)特征提取的方法

    詳解OpenCV實(shí)現(xiàn)特征提取的方法

    在本文中,我們將一起探索幾種從圖像中提取顏色、形狀和紋理特征的方法,這些方法基于處理圖像的經(jīng)驗(yàn),感興趣的小伙伴可以了解一下
    2022-05-05
  • Python使用reportlab模塊生成PDF格式的文檔

    Python使用reportlab模塊生成PDF格式的文檔

    今天小編就為大家分享一篇關(guān)于Python使用reportlab模塊生成PDF格式的文檔,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 4種方法python批量修改替換列表中元素

    4種方法python批量修改替換列表中元素

    這篇文章主要介紹了4種python批量替換列表中元素方法,需要的朋友可以參考下
    2022-04-04

最新評論