【问题标题】:Grabbing specific indices of a list [duplicate]获取列表的特定索引[重复]
【发布时间】:2013-07-28 02:34:02
【问题描述】:

有没有办法获取列表的特定索引,就像我在 NumPy 中可以做的那样?

sample = ['a','b','c','d','e','f']
print sample[0,3,5]
>>>['a','d','f']

我试过用谷歌搜索这个,但我找不到一个好的方法来表达我的问题,导致相关结果...

【问题讨论】:

  • 是的,抱歉.. 我无法找到正确的措辞。感谢您链接它! :(
  • 没问题,就是这样。另一个答案有很多选择;希望你能找到你喜欢的。

标签: python list python-2.7 indexing


【解决方案1】:

您可以使用列表推导:

>>> sample = ['a','b','c','d','e','f']
>>> [sample[i] for i in (0, 3, 5)]
['a', 'd', 'f']

或者,我很快做出来的东西:

>>> class MyList(list):
...     def __getitem__(self, *args):
...             return [list.__getitem__(self, i) for i in args[0]]
... 
>>> mine = MyList(['a','b','c','d','e','f'])
>>> print mine[0, 3, 5]
['a', 'd', 'f']

【讨论】:

  • 啊,是的!我忘记了那些。我真希望有像 NumPy 那样的更短的方法。顺便说一句,我打算将它用于字符串...我认为 "".join([]) 可以解决问题,除非有更好的方法。
  • @sihrc 喜欢创建一个字符串'adf'?然后加入是要走的路;)
  • 是的。我是这么认为的。谢谢! @Haidro
猜你喜欢
  • 2022-01-20
  • 1970-01-01
  • 2022-06-23
  • 2015-03-26
  • 1970-01-01
  • 2022-11-23
  • 2022-07-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多