我需要一些关于修改字典中值的说明,保持键不变。根据问题定义,我有一个列表作为值。程序运行一个循环,并且必须将值分组到它的父级(这是钥匙)。那么,只要条件满足,是否可以在列表中添加元素?
例如:将可被4整除的数字分组并将其存储在字典中。
d={}
l=[]
for i in range(100):
if(i%4==0):
d.update({'Four':l.append(i)})
答案 0 :(得分:1)
我认为你想要的是:
d = {'Four': []}
for i in range(100):
if not i % 4:
d['Four'].append(i)
或者你可以使用列表理解:
d = {'Four': [i for i in range(100) if not i % 4]}
不管怎样,你得到:
d == {'Four': [0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40,
44, 48, 52, 56, 60, 64, 68, 72, 76, 80,
84, 88, 92, 96]}
如果您只有'Four'
,则可以使用collections.defaultdict
:
from collections import defaultdict
d = defaultdict(list)
for i in range(100):
if not i % 4:
d['Four'].append(i)
或者自己“手动”做同样的事情:
d = {}
for i in range(100):
if not i % 4:
if 'Four' not in d:
d['Four'] = []
d['Four'].append(i)
答案 1 :(得分:1)
是的,您可以在字典中编辑项目。
看看你的例子:
d={}
for i in range(100):
if(i % 4 == 0):
# Update our list with the new one.
if d.has_key('Four'):
d['Four'].append(i)
else:
d['Four'] = [i]