元组Python中基于字符串的索引

时间:2014-05-10 02:49:36

标签: python tuples

是否可以在Python中创建一个元组,其索引是基于字符串的,而不是基于数字的?也就是说,如果我有("yellow", "fish", "10)元组,我可以通过[color]代替[0]进行访问。这只是为了方便起见。

2 个答案:

答案 0 :(得分:3)

您可以使用collections.namedtuple()

>>> from collections import namedtuple
>>> MyObject = namedtuple('MyObject', 'color number')
>>> my_obj = MyObject(color="yellow", number=10)
>>> my_obj.color
'yellow'
>>> my_obj.number
10

您仍然可以按索引访问项目:

>>> my_obj[0]
'yellow'
>>> my_obj[1]
10

答案 1 :(得分:0)

是的,collections.namedtuple执行此操作,但您可以使用x.color而非x['color']

访问颜色