添加到字典内的列表中的整数

时间:2017-12-07 03:19:49

标签: python python-2.7 list dictionary

我有一个字典,它在列表中包含一些整数值:

d = {"Numbers": [5, 10, 15, 20]}

如何访问列表中的整数并一次性添加它们?因此,如果我想添加10,它将如下所示:

d = {"Numbers": [15, 20, 25, 30]}

感谢您的帮助!

4 个答案:

答案 0 :(得分:2)

您可以使用list comprehension

d['Numbers'] = [i+10 for i in d["Numbers"]]

稍微冗长一点:

new = [i+10 for i in d['Numbers']]
d.update({"Numbers": new})

答案 1 :(得分:1)

如果字典包含或将包含多个键,您可以使用字典理解然后列出理解:

d = {"Numbers": [5, 10, 15, 20]}
new_d = {a:[i+10 for i in b] for a, b in d.items()}

答案 2 :(得分:0)

你有:

d = {"Numbers": [5, 10, 15, 20]}
add = 10 # Amount you want to increase.

您可以制作list comprehension

d['Numbers'] = [v + add for v in d['Numbers']]

这与:

相同
tmp_list = []
for v in d['Numbers']:
    tmp_list.append(v + add)
d['Numbers'] = tmp_list

但是在一条线上。

如果你想增加字典中每个键的所有项目:

d = {k:[n + add for n in v] for k, v in d.items()}

这是字典理解,它等于:

tmp_dict = {}
for k,v in d.items():
    tmp_dict[k] = []
    for n in v:
        tmp_dict[k].append(n + add)
d = tmp_dict

答案 3 :(得分:0)

每个人都会使用循环给你相同的旧方法:

没有循环怎么样?)

d = {"Numbers": [5, 10, 15, 20]}



list(map(lambda x:list((map(lambda y:x.__setitem__(x.index(y),y+10),x))),d.values()))
print(d)

输出:

{'Numbers': [25, 30, 15, 20]}