我有一个字典,它在列表中包含一些整数值:
d = {"Numbers": [5, 10, 15, 20]}
如何访问列表中的整数并一次性添加它们?因此,如果我想添加10,它将如下所示:
d = {"Numbers": [15, 20, 25, 30]}
感谢您的帮助!
答案 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]}