最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中對字典的幾個處理方法分享

 更新時間:2022年08月31日 16:29:53   作者:data大柳  
這篇文章主要介紹了Python中對字典的幾個處理方法分享,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下

字典求和

edge_weights = defaultdict(lambda: defaultdict(float))
for idx,node in enumerate(graph.nodes()):
    node2com[node] = idx    #給每一個節(jié)點初始化賦值一個團id
    for edge in graph[node].items():
        edge_weights[node][edge[0]] = edge[1]['weight']

edge_weights

運行結(jié)果:

defaultdict(<function __main__.<lambda>()>,
            {'397564': defaultdict(float,
                         {'15.1.18010.11898': 71,
                          '15.1.18010.11899': 54,
                          '15.1.18009.11899': 75,
                          '15.1.18009.11898': 160}),
             '15.1.18010.11898': defaultdict(float,
                         {'397564': 71,
                          '577806': 61,
                          '73827465': 66,
                          '30009791666': 62,
                          '30005407392': 59,
                          '100293225': 102,
                          '30012147301': 65,
                          '138661946': 52}),
             '1085941': defaultdict(float,
                         {'15.1.18007.11870': 120,
                          '15.1.18005.11872': 55,
                          '15.1.18004.11872': 75,
                          '15.1.18006.11870': 83,
                          '15.1.18004.11871': 63})
})

對上述edge_weights所有的值匯入列表并求和:

sum(
    [weight for start in edge_weights.keys() for end, weight in edge_weights[start].items()]
)

列表剔重并計數(shù)

方法1:

統(tǒng)計列表中的重復(fù)項出現(xiàn)的次數(shù)。
循環(huán)遍歷出一個可迭代對象中的元素,如果字典沒有該元素,那么就讓該元素作為字典的鍵,并將該鍵賦值為1,如果存在就將該元素對應(yīng)的值加1.

lists = ['a','a','b',5,6,7,5,'a']
count_dict = dict()

for item in lists:
    if item in count_dict:
        count_dict[item] += 1
    else:
        count_dict[item] = 1

方法2:

使用collections.defaultdict(),將default_factory設(shè)為int,代碼如下:

from collections import defaultdict
#s = 'mississippi'
s = ['a','a','b',5,6,7,5,'a']
d = defaultdict(int)
for k in s:
    d[k] += 1
print('\n',d)

獲取字典中最大的value

a = {'a':2,'b':3,'c':5,'d':9,'e':4}
print(max(a.values()))

獲取字典中出現(xiàn)value最大的key

a = {'a':2,'b':3,'c':5,'d':9,'e':4}
print(max(a,key=a.get))

運行結(jié)果:

d

字典對應(yīng)元素追加

對于列表:

s = [('yellow',1),('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]

統(tǒng)計列表字典有兩種方法:

方法1:

用dict.setdefault()實現(xiàn)。

代碼如下:

s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = {}
for k, v in s:
    d.setdefault(k,[]).append(v)
a = sorted(d.items())
print(a)

運行結(jié)果:

[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]

方法2;

使用collections.defaultdict(),并使用list作第一個參數(shù),可以很容易將鍵-值對序列轉(zhuǎn)換為列表字典,

代碼如下:

from collections import defaultdict
s = [('yellow',1),('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = defaultdict(list)
for k, v in s:
    d[k].append(v)
a = sorted(d.items())
print(a)

運行結(jié)果:

[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]

當(dāng)字典中沒有的鍵第一次出現(xiàn)時,default_factory自動為其返回一個空列表,list.append()會將值添加進(jìn)新列表;再次遇到相同的鍵時,list.append()將其它值再添加進(jìn)該列表。這種方法比使用dict.setdefault()更為便捷。

字典對應(yīng)元素追加并剃重

對于列表:

s = [('red', 1), ('blue', 2), ('red', 3), ('blue', 4), ('red', 1), ('blue', 4)]

統(tǒng)計并剃重:

from collections import defaultdict
s = [('red', 1), ('blue', 2), ('red', 3), ('blue', 4), ('red', 1), ('blue', 4)]
d = defaultdict(set)
for k, v in s:
    d[k].add(v)
print('\n',d)

運行結(jié)果:

defaultdict(<class 'set'>, {'red': {1, 3}, 'blue': {2, 4}})

對字典進(jìn)行過濾

創(chuàng)建一個新的字典,可以利用字典推導(dǎo)式

headerTable = {k: v for k, v in headerTable.items() if v > 2}

反轉(zhuǎn)字典的方法(字典的key和value對換)

使用字典推導(dǎo):

m = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
{v: k for k, v in m.items()}

使用壓縮器:

m = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
m.items()    #[('a', 1), ('c', 3), ('b', 2), ('d', 4)]
zip(m.values(), m.keys())   #[(1, 'a'), (3, 'c'), (2, 'b'), (4, 'd')]
mi = dict(zip(m.values(), m.keys()))

字典的key和value對換并把key按照value進(jìn)行列表合并

對于字典:

defaultdict(int,
            {'2100201919459568780': 0,
             '2100201927433498080': 1,
             '2100201935997972401': 2,
             '2100201934073343294': 3,
             '2100201938073398590': 3,
             '2100201938426179130': 2,
             '2100201938057211020': 4,
             '2100201938030472762': 3,
             '2100201940356247098': 4,
             '2100201939150253460': 4,
             '2100201935737728404': 4,
             '2100201938984381844': 4,
             '2100201937770425806': 4,
             '2100201937563397283': 4,
             '2100201941426286415': 4,
             '2100201936062819790': 4,
             '2100201936279351185': 4,
             '2100201934074097553': 4,
             '2100201940543713169': 4})

進(jìn)行處理:

track_merge = defaultdict(list)
for i in track_label.items():
    track_merge[str(i[1])].append(i[0])

輸出:

defaultdict(list,
            {'0': ['2100201919459568780'],
             '1': ['2100201927433498080'],
             '2': ['2100201935997972401', '2100201938426179130'],
             '3': ['2100201934073343294',
              '2100201938073398590',
              '2100201938030472762'],
             '4': ['2100201938057211020',
              '2100201940356247098',
              '2100201939150253460',
              '2100201935737728404',
              '2100201938984381844',
              '2100201937770425806',
              '2100201937563397283',
              '2100201941426286415',
              '2100201936062819790',
              '2100201936279351185',
              '2100201934074097553',
              '2100201940543713169']})

合并字典

appointment = { 'soccer' : { 'day': 20, 'month': 'april' } }
appointment2 = { 'gym' : { 'day': 5, 'month': 'may' } }
appointment.update(appointment2)
appointment

輸出:

{
    'gym': {'day': 5, 'month': 'may'}, 
    'soccer': {'day': 20, 'month': 'april'}
}

到此這篇關(guān)于Python中對字典的幾個處理方法分享的文章就介紹到這了,更多相關(guān)Python字典處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pytorch中的 .view()函數(shù)的用法介紹

    pytorch中的 .view()函數(shù)的用法介紹

    這篇文章主要介紹了pytorch中的 .view()函數(shù)的用法,主要介紹兩種方法手動調(diào)整size和自動調(diào)整size,下面具體方法分析需要的小伙伴可以參考一下
    2022-03-03
  • Python Matplotlib 基于networkx畫關(guān)系網(wǎng)絡(luò)圖

    Python Matplotlib 基于networkx畫關(guān)系網(wǎng)絡(luò)圖

    這篇文章主要介紹了Python Matplotlib 基于networkx畫關(guān)系網(wǎng)絡(luò)圖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python?Pandas的concat合并

    Python?Pandas的concat合并

    這篇文章主要介紹了Python?Pandas的concat合并,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • python3簡單實現(xiàn)微信爬蟲

    python3簡單實現(xiàn)微信爬蟲

    我們可以通過python 來實現(xiàn)這樣一個簡單的爬蟲功能,把我們想要的代碼爬取到本地。下面就看看如何使用python來實現(xiàn)這樣一個功能。
    2015-04-04
  • python入門教程 python入門神圖一張

    python入門教程 python入門神圖一張

    這篇文章主要介紹了Python 10分鐘入門教程,分享一張Python入門神圖一張,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • anaconda如何創(chuàng)建和刪除環(huán)境

    anaconda如何創(chuàng)建和刪除環(huán)境

    這篇文章主要介紹了anaconda如何創(chuàng)建和刪除環(huán)境,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • 解決Pycharm下面出現(xiàn)No R interpreter defined的問題

    解決Pycharm下面出現(xiàn)No R interpreter defined的問題

    今天小編就為大家分享一篇解決Pycharm下面出現(xiàn)No R interpreter defined的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python中的True,False條件判斷實例分析

    Python中的True,False條件判斷實例分析

    這篇文章主要介紹了Python中的True,False條件判斷的用法,實例分析了針對不同數(shù)據(jù)類型的條件判斷用法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • Python3實現(xiàn)的旋轉(zhuǎn)矩陣圖像算法示例

    Python3實現(xiàn)的旋轉(zhuǎn)矩陣圖像算法示例

    這篇文章主要介紹了Python3實現(xiàn)的旋轉(zhuǎn)矩陣圖像算法,涉及Python3列表遍歷、切片轉(zhuǎn)換、矩陣運算等相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • Python實現(xiàn)一個簡單三層神經(jīng)網(wǎng)絡(luò)的搭建及測試 代碼解析

    Python實現(xiàn)一個簡單三層神經(jīng)網(wǎng)絡(luò)的搭建及測試 代碼解析

    一個完整的神經(jīng)網(wǎng)絡(luò)一般由三層構(gòu)成:輸入層,隱藏層(可以有多層)和輸出層。本文所構(gòu)建的神經(jīng)網(wǎng)絡(luò)隱藏層只有一層。一個神經(jīng)網(wǎng)絡(luò)主要由三部分構(gòu)成(代碼結(jié)構(gòu)上):初始化,訓(xùn)練,和預(yù)測。,需要的朋友可以參考下面文章內(nèi)容的具體內(nèi)容
    2021-09-09

最新評論

彭阳县| 黄梅县| 辽宁省| 扎兰屯市| 全州县| 娄烦县| 台山市| 盐边县| 清远市| 开江县| 湘乡市| 民乐县| 宜兰市| 洪湖市| 萨嘎县| 盐亭县| 天津市| 易门县| 乡宁县| 广水市| 长宁县| 鄂温| 光山县| 获嘉县| 云林县| 彰武县| 石嘴山市| 鸡东县| 大港区| 平顶山市| 莱芜市| 凭祥市| 宁都县| 安福县| 丰城市| 靖江市| 宁国市| 尼勒克县| 专栏| 滦南县| 攀枝花市|