第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將文本轉(zhuǎn)換為字典 [文本行中的重復(fù)鍵]

將文本轉(zhuǎn)換為字典 [文本行中的重復(fù)鍵]

紅顏莎娜 2022-06-28 10:34:50
我有如下示例文本文件asy1 10.20.0.1byt 192.1.10.100byt 192.1.10.101byt 192.1.10.102hps 10.30.1.50hps 10.30.1.53hps 10.30.1.54hps 10.30.1.55hps 10.30.1.56zte 10.100.1.1zte 10.100.1.2當(dāng)我在下面運(yùn)行腳本時(shí)mydict = {}with open('devices.txt', 'r') as file:   for line in file:      name, ip = line.split()      mydict[name] = ip.strip()print(mydict)它不會(huì)按照文本文件返回所有行/內(nèi)容。{'hps': '10.30.1.56', 'zte': '10.100.1.2', 'byt': '192.1.10.102', 'asy1': '10.20.0.1'}我在這里錯(cuò)過了一些東西......請(qǐng)告訴我。謝謝
查看完整描述

2 回答

?
慕尼黑5688855

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊

在字典中,鍵必須是唯一的,當(dāng)你這樣做時(shí):


mydict[name] = ip.strip()

通過執(zhí)行以下操作,您可以覆蓋值,而不是為鍵提供單個(gè)值,您可以存儲(chǔ)值列表:


mydict = {}

with open('devices.txt', 'r') as file:

    for line in file:

        name, ip = line.split()

        if name not in mydict:

            mydict[name] = []

        mydict[name].append(ip.strip())

print(mydict)

輸出


{'asy1': ['10.20.0.1'], 'byt': ['192.1.10.100', '192.1.10.101', '192.1.10.102'], 'hps': ['10.30.1.50', '10.30.1.53', '10.30.1.54', '10.30.1.55', '10.30.1.56'], 'zte': ['10.100.1.1', '10.100.1.2']}

第二種選擇是使用setdefault代替:


mydict.setdefault(name, []).append(ip.strip())

第三種選擇是使用defaultdict。如果值是唯一的,請(qǐng)考慮使用set。


查看完整回答
反對(duì) 回復(fù) 2022-06-28
?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊

其中許多名稱是相同的,但是 adict對(duì)于給定的鍵只能有一個(gè)值 - 如果您嘗試使用 key 將 IP 添加到字典中hps,但其中已經(jīng)有一個(gè),它將被覆蓋。也許使用 alist代替?



查看完整回答
反對(duì) 回復(fù) 2022-06-28
  • 2 回答
  • 0 關(guān)注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)