寶慕林4294392
2021-08-05 17:31:23
我需要一些關(guān)于 Python 作業(yè)的幫助。任務(wù)是使用來(lái)自其他字典的鍵和來(lái)自 csv 文件的值制作字典。所有這些都需要使用帶參數(shù)的函數(shù)來(lái)完成(另一個(gè)字典,the_csv_file)另一本字典是這樣的:{1: 'Bob West', 2: 'Hannah North', 3: 'Bruce South', 4: 'Anna Bell', 5: 'George Smith'}我從一個(gè)函數(shù)中得到了那本字典def names_dictionary(): with open("filename.csv", 'r') as d: x = {num+1:name.split(" ",1)[-1].strip() for (num, name) in enumerate(d)} print(x)從這本字典中,我需要將值(名稱)作為新字典中的鍵。CSV 文件在 excel 中如下所示 A B1.1 112.3 123.2 144.7 115.5 12A 列中的所有內(nèi)容。從這里開(kāi)始,我希望每一行中的第二個(gè)數(shù)字成為新字典中的值。所以 (11, 12, 14, 11, 12)。我想要的結(jié)果字典是{’Bob West’: 11, ’Hannah North’: 12, ’Bruce South’: 14, ’Anna Bell’: 11, ’George Smith’: 12}功能到此為止。def names(names_dictionary, csvfile):最后我需要一個(gè)主函數(shù)來(lái)組合和輸出:Bob West 得到 11 個(gè)香蕉 Hannah North 得到 12 個(gè)香蕉 Bruce South 得到 14 個(gè)香蕉 Anna bell 得到 11 個(gè)香蕉 George Smith 得到 12 個(gè)香蕉
1 回答

楊魅力
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
此處已經(jīng)介紹了如何從 csv 文件中讀取列。
我假設(shè)您已經(jīng)構(gòu)建了一個(gè)colB包含 values的列表[11, 12, 14, 11, 12]。如果d是你原來(lái)的字典,你現(xiàn)在可以使用字典理解
{v:colB[k - 1] for k, v in d.items()}
來(lái)構(gòu)造結(jié)果。
演示:
>>> d = {1: 'Bob West', 2: 'Hannah North', 3: 'Bruce South', 4: 'Anna Bell', 5: 'George Smith'}
>>> colB = [11, 12, 14, 11, 12]
>>> result = {v:colB[k - 1] for k, v in d.items()}
>>> result
{'Bob West': 11, 'Hannah North': 12, 'Bruce South': 14, 'Anna Bell': 11, 'George Smith': 12}
我相信你會(huì)自己弄清楚印刷的。
添加回答
舉報(bào)
0/150
提交
取消