我有以下内容:
list_of_values = []
x = { 'key1': 1, 'key2': 2, 'key3': 3 }
我如何遍历字典并将这些值之一附加到该列表中?如果我只想附加“key2”的值怎么办。
原文由 user3674231 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有以下内容:
list_of_values = []
x = { 'key1': 1, 'key2': 2, 'key3': 3 }
我如何遍历字典并将这些值之一附加到该列表中?如果我只想附加“key2”的值怎么办。
原文由 user3674231 发布,翻译遵循 CC BY-SA 4.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(...)
。
原文由 MSeifert 发布,翻译遵循 CC BY-SA 3.0 许可协议
如果您只想附加一组特定的值,则无需遍历字典,只需将其添加到列表中即可
但是,如果您坚持要遍历字典,则可以遍历键值对: