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

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

Python 字典應(yīng)該返回一個(gè)值而不是 None

Python 字典應(yīng)該返回一個(gè)值而不是 None

撒科打諢 2022-06-14 17:54:54
我有一個(gè) csv 文件,其中包含 a,b2,34,54,74,7(其中 a,b 是列值)下面我有兩個(gè)函數(shù),其中第一個(gè)函數(shù)將讀取 csv 并將“a”分配為鍵,將“b”分配為字典中的值第二個(gè)函數(shù)我將'a'值作為參數(shù)傳遞,當(dāng)我使用該函數(shù)時(shí)它返回b作為值。如果'a'沒(méi)有值,我得到None。def x (id):    dict1= {}    with open(file, 'r', encoding='utf') as f:        for i in csv.DictReader(f, skipinitialspace= True)        dict1[i['a']] = row['b']    print('im happy now' )def getx (a):    return dict1.get(a, None)它完美地工作?,F(xiàn)在我有一個(gè)包含四列值的 csv 文件a,b,c,d1,2,r,42,g,4,63,d,4,6為此,我編寫了類似的代碼def x ():    dict1= {}    with open(file, 'r', encoding='utf') as f:        for i in csv.DictReader(f, skipinitialspace= True)        dict1[i['a']] = dict(dict1[i['b']] = dict(dict1[i['c']] = row['d']))    print('im happy now' )def getx (a):    return dict1.get(dict1['a']['b']['c'], None)我的邏輯是顯示dict1[i['a']] = dict(dict1[i['b']] = dict(dict1[i['c']] = row['d']))作為dict1 :{   'a':{       'b':{           'c':2,           'c':4,           'c':4       }   }}我不確定我上面寫的是否正確。當(dāng)我通過(guò) dict1[a[]b][c] 時(shí),我需要將 'd' 作為值返回。它返回我的空值。期望值是 a,b,ci 的組合需要一個(gè)值作為 d。例如:從上面的 csv.. 對(duì)于 1,2,ri 的組合需要返回 4 作為輸出更新:我意識(shí)到“a”列具有重復(fù)值,并且無(wú)法在跳過(guò)重復(fù)鍵記錄的字典鍵中處理。from collections import defaultdictdict_1 = defaultdict(list)with open('file.txt','r') as f:    for r in f.readline():        i= r['a']        j= r['b']        k= r['c']        l =r['d']        details = [j,k,l]        dict_1[i].append((details))        print(dict_1)這給了我{'1' :[('k', '3', '5'),('e','3','2')], '4' :[('r','3','2'),('e','2','1')],....................}如果我在上面的第一個(gè)函數(shù)中有 dict_1 ?,F(xiàn)在,任何建議,例如如何通過(guò)在我的第二個(gè)函數(shù)中傳遞 a、b、c 作為參數(shù)來(lái)獲取“d”的值,否則沒(méi)有?
查看完整描述

1 回答

?
慕的地10843

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

您不需要 csv 模塊。此外,您不能在字典中有重復(fù)的鍵,您只會(huì)覆蓋以前設(shè)置的值。


def x():

    dict1= {}

    with open(file, 'r', encoding='utf') as f:

        for i in f.readlines():

            a, b, c, d = i.split(',')

            dict1[a] = {b: {c: d}}


def getx(a, b, c):

    try:

        return dict1[a][b][c]

    except:

        return None


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

添加回答

舉報(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)