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