栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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']


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/652172.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号