【发布时间】:2015-06-24 01:07:00
【问题描述】:
我已经被这个问题困住了很长一段时间,只是想不通。我只是想能够理解我缺少什么以及为什么需要它。 我需要做的是创建一个函数,将每个给定的键/值对添加到字典中。参数 key_value_pairs 将是 (key, value) 形式的元组列表。
def add_to_dict(d, key_value_pairs):
newinputs = [] #creates new list
for key, value in key_value_pairs:
d[key] = value #updates element of key with value
if key in key_value_pairs:
newinputs.append((d[key], value)) #adds d[key and value to list
return newinputs
当 d 和 key_value_pairs 有不同的键时,我不知道如何更新“value”变量。
前三个场景有效,但其余的都失败了
>>> d = {}
>>> add_to_dict(d, [])
[]
>>> d
{}
>>> d = {}
>>> add_to_dict(d, [('a', 2])
[]
>>> d
{'a': 2}
>>> d = {'b': 4}
>>> add_to_dict(d, [('a', 2)])
[]
>>> d
{'a':2, 'b':4}
>>> d = {'a': 0}
>>> add_to_dict(d, [('a', 2)])
[('a', 0)]
>>> d
{'a':2}
>>> d = {'a', 0, 'b': 1}
>>> add_to_dict(d, [('a', 2), ('b': 4)])
[('a', 2), ('b': 1)]
>>> d
{'a': 2, 'b': 4}
>>> d = {'a': 0}
>>> add_to_dict(d, [('a', 1), ('a': 2)])
[('a', 0), ('a':1)]
>>> d
{'a': 2}
谢谢
已编辑。
【问题讨论】:
-
dict.update有什么问题? -
抱歉,这些输出是您得到的还是您想要的?
-
您能否展示您在每种情况下获得的输出与您期望的输出?
-
key in key_value_pairs通常为假,因为key_value_pairs是一个元组列表,但在大多数情况下key不是一个元组 -
你的问题对我来说不是很清楚(对于其他人来说,我猜每个答案都是不同的)你考虑你的第一个例子 add_to_dict(d, [('a', 2)])无效?你会期待 {'a':2, 'a': 0} 吗?
标签: python python-3.x dictionary