如何使用另一个列表变量索引列表?例如。 a = range(5),b = [1],如何使用a和b执行[1]?

时间:2017-08-29 06:56:16

标签: python indexing

如何使用变量索引列表?

使用以下示例,如何使用ab返回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

1 个答案:

答案 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