从字典创建多个列表的最佳方法是什么?我的字典是这样的:
mydict = {'aaa': ['111', '222', '333'], 'bbb': ['444', '555']}
我正在尝试制作这样的列表:
aaa ['111', '222', '333']
bbb ['444', '555']
...
我已经尝试过了
result = []
For key, value in mydict.item()
result[key].append(value)
这会返回类型错误。
这与您想要的最接近,代码中的问题是初始化
result
列表并访问其元素的方式。您可以通过使用循环迭代字典项来获得您想要的结果。然后,该列表将填充包含字典中的键和值对的元组,然后您需要循环 result
来打印输出。
mydict = {'aaa': ['111', '222', '333'], 'bbb': ['444', '555']}
result = []
for key, value in mydict.items():
result.append((key, value))
# Printing the result
for key, value in result:
print(key, value)
输出:
aaa ['111', '222', '333']
bbb ['444', '555']
将字典键转换为变量是可能的,但不是您在实际程序中想要做的事情:
>>> globals().update(mydict)
>>> aaa
['111', '222', '333']
>>> bbb
['444', '555']
如果您只想打印输出看起来像这样,那么使用 for 循环来打印:
for i in mydict.items(): print(*i)
aaa ['111', '222', '333']
bbb ['444', '555']
如果您想按名称操作列表,您可以创建一个字典子类,将其键作为属性名称处理:
class fieldDict(dict): __getattr__ = dict.__getitem__
lists = fieldDict(mydict)
lists.aaa # ['111', '222', '333']
lists.bbb # ['444', '555']