我有以下内容:
list_of_values = []
x = { 'key1': 1, 'key2': 2, 'key3': 3 }
如何遍历字典并将其中一个值附加到该列表中?如果我只想附加'key2'的值,该怎么办?
答案 0 :(得分:1)
如果你只想附加一组特定的值,你不需要遍历字典只需将它添加到列表中
list_of_values.append(x["key2"])
但是,如果你坚持迭代字典,你可以遍历键值对:
for key, value in x.items():
if key == "key2":
list_of_values.append(value)
答案 1 :(得分:0)
你不必迭代。 选择所需的值并将其附加,只需
即可x = { 'key1': 1, 'key2': 2, 'key3': 3 }
value = x['key2']
list_of_values.append(value)
答案 2 :(得分:0)
list_of_values = []
x = { 'key1': 1, 'key2': 2, 'key3': 3 }
list_of_values.append(x['key2'])
答案 3 :(得分:0)
如果你真的想迭代字典,我会建议使用列表推导,从而创建一个新列表并插入'key2'
:
list_of_values = [x[key] for key in x if key == 'key2']
因为可以轻松扩展以搜索多个关键字:
keys_to_add = ['key2'] # Add the other keys to that list.
list_of_values = [x[key] for key in x if key in keys_to_add]
这样做有一个简单的好处,即您可以一步创建结果,而不需要多次追加。在完成对字典的迭代之后,您可以附加列表,只是为了让它变得有趣,只需将新列表添加到旧列表中,就可以在没有append
的情况下执行此操作:
list_of_values += [x[key] for key in x if key in keys_to_add]
请注意我如何使用+=
就地添加它们,这与调用list_of_values.append(...)
完全相同。