连接字典值,它们是列表

新手上路,请多包涵

假设我有以下字典对象:

 test = {}
test['tree'] = ['maple', 'evergreen']
test['flower'] = ['sunflower']
test['pets'] = ['dog', 'cat']

现在,如果我运行 test['tree'] + test['flower'] + test['pets'] ,我会得到结果:

 ['maple', 'evergreen', 'sunflower', 'dog', 'cat']

这就是我想要的。

但是,假设我不确定 dict 对象中有哪些键,但我知道所有值都是列表。有没有像 sum(test.values()) 类的方法或者我可以运行以达到相同结果的方法?

原文由 nwly 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 491
2 个回答

几乎 给出了问题的答案: sum(test.values()) 只是失败了,因为默认情况下它假定您要将项目添加到起始值 0 —当然你不能添加 listint 。但是,如果您明确指定起始值,它将起作用:

  sum(test.values(), [])

原文由 jez 发布,翻译遵循 CC BY-SA 3.0 许可协议

一个班轮( _假设不需要特定的订购_):

 >>> [value for values in test.values() for value in values]
['sunflower', 'maple', 'evergreen', 'dog', 'cat']

原文由 ospahiu 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题