如何从Python字典中创建多个对应键名的列表?最佳方法求解
问题分析与解决
你的代码错误原因
- Python是大小写敏感语言,
For需改为小写for; - 字典遍历键值对的方法是
items(),不是item(); - 循环语句末尾缺少冒号
:; result是列表类型,只能用整数索引,不能用字符串键key访问,这是触发类型错误的直接原因。
正确实现方法
方法1:直接输出目标格式
如果只是想得到你展示的输出形式,直接遍历字典打印即可:
mydict = {'aaa': ['111', '222', '333'], 'bbb': ['444', '555']} for key, value in mydict.items(): print(key, value)
输出结果:
aaa ['111', '222', '333'] bbb ['444', '555']
方法2:生成键值对列表
如果需要把键和对应列表存储为一个新的列表结构:
mydict = {'aaa': ['111', '222', '333'], 'bbb': ['444', '555']} result = list(mydict.items()) # result的值为:[('aaa', ['111', '222', '333']), ('bbb', ['444', '555'])]
后续可以遍历这个列表来获取每个键和对应的列表。
方法3:创建单独的列表变量(不推荐)
如果想把每个键对应的值生成为单独的变量列表(比如直接使用aaa、bbb变量),可以通过全局命名空间实现,但这种方式容易污染命名空间,仅在必要时使用:
mydict = {'aaa': ['111', '222', '333'], 'bbb': ['444', '555']} for key, value in mydict.items(): globals()[key] = value # 之后可直接使用变量 print(aaa) # 输出 ['111', '222', '333'] print(bbb) # 输出 ['444', '555']
内容的提问来源于stack exchange,提问作者user22335241
相关产品推荐
相关产品推荐

