为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用来自其他字典的键和来自 Python 中的 csv 文件的值制作字典?

如何使用来自其他字典的键和来自 Python 中的 csv 文件的值制作字典?

宝慕林4294392 2021-08-05 17:31:23
我需要一些关于 Python 作业的帮助。任务是使用来自其他字典的键和来自 csv 文件的值制作字典。所有这些都需要使用带参数的函数来完成(另一个字典,the_csv_file)另一本字典是这样的:{1: 'Bob West', 2: 'Hannah North', 3: 'Bruce South', 4: 'Anna Bell', 5: 'George Smith'}我从一个函数中得到了那本字典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 列中的所有内容。从这里开始,我希望每一行中的第二个数字成为新字典中的值。所以 (11, 12, 14, 11, 12)。我想要的结果字典是{’Bob West’: 11, ’Hannah North’: 12, ’Bruce South’: 14, ’Anna Bell’: 11, ’George Smith’: 12}功能到此为止。def names(names_dictionary, csvfile):最后我需要一个主函数来组合和输出:Bob West 得到 11 个香蕉 Hannah North 得到 12 个香蕉 Bruce South 得到 14 个香蕉 Anna bell 得到 11 个香蕉 George Smith 得到 12 个香蕉
查看完整描述

1 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

此处已经介绍了如何从 csv 文件中读取列。


我假设您已经构建了一个colB包含 values的列表[11, 12, 14, 11, 12]。如果d是你原来的字典,你现在可以使用字典理解


{v:colB[k - 1] for k, v in d.items()}

来构造结果。


演示:


>>> 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}

我相信你会自己弄清楚印刷的。


查看完整回答
反对 回复 2021-08-05
  • 1 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号