如何使用变量索引列表?
使用以下示例,如何使用a
和b
返回a[1]
的等效内容?
>>> a = range(5)
>>> b = [1]
>>> a[1]
1
>>> a(b)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-46-ec02cd35061d> in <module>()
5 a[1]
6
----> 7 a(b)
TypeError: 'range' object is not callable
>>> (a)b
File "<ipython-input-51-0a1106519cc7>", line 1
(a)b
^
SyntaxError: invalid syntax
答案 0 :(得分:1)
b
是一个列表,不是整数。如果b
设置为1
,您可以使用它来编制索引:
b = 1
a[b]
如果您希望将操作存储为变量(不仅仅是索引,而是首先索引),请使用函数或辅助对象来自operator
module。
例如,您可以存储operator.itemgetter()
object:
from operator import itemgetter
b = itemgetter(1) # ...[1]
b(a) # apply to a