将字典值添加到列表中?

时间:2016-03-04 01:17:54

标签: python-3.x dictionary

我有以下内容:

 list_of_values = []    
 x = { 'key1': 1, 'key2': 2, 'key3': 3 }

如何遍历字典并将其中一个值附加到该列表中?如果我只想附加'key2'的值,该怎么办?

4 个答案:

答案 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(...)完全相同。