python - 追加到字典,Python
问题描述
我有一个清单,
print(List)
['x1, y1, z1', '1, 2, 3', '2, 4, 6', '4, 8, 12']
和一个包含三个空列表的字典,
print(Dictionary)
{0: [], 1: [], 2: []}
我用 for 循环创建了,
for item in List:
r = item.split(', ')
以便,
for item in List:
r = item.split(', ')
print(r)
['x1', 'y1', 'z1']
['1', '2', '3']
['2', '4', '6']
['4', '8', '12']
print(r[0])
x1
1
2
4
...etc.
现在我想将 r[i] 的每个项目附加到 Dictionary[i] 以便
print(Dictionary)
{0: ['x1', '1', '2', '4'], 1: ['y1', '2', '4', '8'], 2: ['z1', '3', '6', '12']}
谢谢!
解决方案
你可以用 list 和 dict 理解来做这个更清洁:
my_list = ['x1, y1, z1', '1, 2, 3', '2, 4, 6', '4, 8, 12']
cleaned_list = [x.split(', ') for x in my_list]
my_dict = {index: list(lst) for index, lst in enumerate(zip(*cleaned_list))}
print(my_dict)
输出:
{0: ['x1', '1', '2', '4'], 1: ['y1', '2', '4', '8'], 2: ['z1', '3', '6', '12']}
- 编辑(来自 jpp 的评论) -
dict
如果您将其留给构造函数,则可以将理解写得更短(并且可能更具可读性),但是值将是元组而不是列表。由你决定:
my_dict = dict(enumerate(zip(*cleaned_list)))
输出:
{0: ('x1', '1', '2', '4'), 1: ('y1', '2', '4', '8'), 2: ('z1', '3', '6', '12')}
推荐阅读
- sql-server - 查找数据库还原历史记录以及机器主机名/IP 地址
- daml - 在 DAML 中,如何在选择中获取 ContractId
- javascript - 在提交表单和使用快照检索数据后,防止在 Firebase 应用程序中重复邮件 ID 和 ph num 而无需身份验证
- python - 在 Python 中等待非阻塞用户输入时显示提示
- c - 将 Keras 模型转换为 C
- django - 如何在 Django 框架中使用 Jinja?
- unit-testing - Spock - 超时后成功通过测试
- python - 从元组列表中获取唯一元素的问题
- google-chrome - Not able to find elements in side a iframe using xpath
- haskell - 了解翻转功能