当前位置:  开发笔记 > 编程语言 > 正文

获取嵌套字典中唯一值的列表(或集)

如何解决《获取嵌套字典中唯一值的列表(或集)》经验,为你挑选了1个好方法。



1> Bhargav Rao..:

使用集合理解.

>>> {orders[i]['food'] for i in orders}
{'pizza', 'taco'}

如果值food是列表或元组,则可以在集合理解中使用嵌套循环.

>>> orders = {'peter': {'food': ['pizza','fries'], 'drink': 'soda'}, 'paul': {'food': ['taco'], 'drink': 'soda'}}
>>> {j for i in orders for j in orders[i]['food']}
{'pizza', 'taco', 'fries'}

您甚至可以operator.itemgetter像Padraic一样使用.

>>> from operator import itemgetter 
>>> set(map(itemgetter("food"), orders.values()))
{'pizza', 'taco'}

同样,如果食物的值是一个列表,您可以使用chain.

>>> from itertools import chain
>>> set(chain(*map(itemgetter("food"), orders.values())))
{'pizza', 'taco', 'fries'}

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有