我有一个列表字典,像这样:
results = {'Thing' : [], 'SecondThing': []}
经过一些处理,我需要在不删除映射的情况下清除字典中的每个列表,但是我不确定如何对其进行迭代,因为Python告诉我这是一个str
for key in results:
print(type(key))
但是我不想要键,我想要值,所以我尝试了:
for key,value in results:
但是我被告知有too many values to unpack
,所以我显然在做些愚蠢的事情。
答案 0 :(得分:3)
您只需将空列表分配给每个字典值:
for key in results:
results[key] = []
或者如果您在清除所有列表后不想拥有其他list
对象,只需在这些列表上调用list.clear()
:
for key in results:
results[key].clear()
答案 1 :(得分:0)
您还可以使用:
for val in results.values():
do_whatever(val)
类似地,results.keys()
将为您提供键('Thing'和'SecondThing'),而.items()
将为您提供(键,值)的元组。
答案 2 :(得分:0)
此外,如果您想遍历键和值:
d = {'Hello':'Welt'}
for k, v in d.items():
print(k, v)