Python:将元组字典作为键,进行选择,排序

Python:将元组字典作为键,进行选择,排序,第1张

Python:将元组/字典作为键,进行选择,排序

就个人而言,我最喜欢python的一件事是tuple-dict组合。您在这里拥有的实际上是一个2d数组(其中x =水果名称,y
=颜色),而且我通常是实现2d数组的元组字典的支持者,至少在诸如之类

numpy
的数据库不适合使用时。简而言之,我认为您有一个很好的方法。

请注意,如果不做一些额外的工作,就不能将字典用作字典中的键,因此这不是一个很好的解决方案。

也就是说,您还应该考虑namedtuple()。这样,您可以执行以下 *** 作:

>>> from collections import namedtuple>>> Fruit = namedtuple("Fruit", ["name", "color"])>>> f = Fruit(name="banana", color="red")>>> print fFruit(name='banana', color='red')>>> f.name'banana'>>> f.color'red'

现在您可以使用fruitcount字典:

>>> fruitcount = {Fruit("banana", "red"):5}>>> fruitcount[f]5

其他技巧:

>>> fruits = fruitcount.keys()>>> fruits.sort()>>> print fruits[Fruit(name='apple', color='green'),  Fruit(name='apple', color='red'),  Fruit(name='banana', color='blue'),  Fruit(name='strawberry', color='blue')]>>> fruits.sort(key=lambda x:x.color)>>> print fruits[Fruit(name='banana', color='blue'),  Fruit(name='strawberry', color='blue'),  Fruit(name='apple', color='green'),  Fruit(name='apple', color='red')]

与chmullig相呼应,要获得一个水果的所有颜色的列表,您必须过滤键,即

bananas = [fruit for fruit in fruits if fruit.name=='banana']


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5654302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存