我有一个列表,s
,这是查询水果数据库的结果,item[0]
是水果的名称,item[1]
是水果是否有种子,item[2]
是它是否可以食用。你知道吗
s = [['Apple','Yes','Edible'], ['Watermellon','Yes','Yes']]
由于我的实际列表要大得多,我希望有一个非常简单的方法来引用/返回这些值。例如,print my_dict['Apple']['Seeds']
将产生Yes
我认为我最好的选择是创建一个字典,但我正在寻找关于这是否是一个好方法以及如何做到这一点的建议。你知道吗
我开始编写一些代码,但不确定如何将第二组头放在适当的位置,因此我的示例使用了索引。你知道吗
my_dict = {t[0]:t[1:] for t in s}
print my_dict['Apple'][0]
这将返回所需的词典。你知道吗
如果第二组键从未更改,那么最好使用字段定义一个适当的对象。这看起来有些过分或冗长,但总是有
collections.namedtuple
可以帮助你。你知道吗namedtuple
从字段名列表创建一个新类。该类还支持由列表初始化。举个例子:这样,您就可以轻松地从列表中创建
Fruit
对象:因此,您可以用一种非常简单的方法创建水果列表:
你真的需要有一个按某个字段编入索引的字典,它没有什么不同:
namedtuple
在将值列表转换为更易于使用的对象时非常方便(例如在读取CSV文件时,这种情况与您要求的情况非常相似)。你知道吗相关问题 更多 >
编程相关推荐