如何用另一个列表索引Python中的列表?
我想用一个列表来索引另一个列表,像这样:
L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
Idx = [0, 3, 7]
T = L[ Idx ]
最后,T应该是一个包含['a', 'd', 'h']的列表。
有没有比下面这种方法更好的方式呢:
T = []
for i in Idx:
T.append(L[i])
print T
# Gives result ['a', 'd', 'h']
8 个回答
14
T = map(lambda i: L[i], Idx)
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
55
如果你在使用numpy这个库,你可以这样进行更复杂的切片操作:
>>> import numpy
>>> a=numpy.array(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'])
>>> Idx = [0, 3, 7]
>>> a[Idx]
array(['a', 'd', 'h'],
dtype='|S1')
...而且这样做可能会快很多(如果你对性能有足够的关注,值得去导入numpy这个库)
337
在编程中,有时候我们会遇到一些问题,比如代码运行不正常或者出现错误。这种情况下,我们需要找到问题的原因并解决它。通常,我们可以通过查看错误信息来帮助我们理解发生了什么。
错误信息就像是程序在告诉我们:“嘿,我遇到了一些麻烦!”它会指出出错的地方,甚至可能告诉我们是什么原因导致了这个问题。理解这些信息是解决问题的第一步。
有时候,错误可能是因为我们写的代码有问题,比如拼写错误、缺少某些东西,或者使用了不正确的语法。其他时候,问题可能出在我们使用的工具或环境上,比如软件版本不兼容。
总之,当你遇到问题时,不要慌张,仔细阅读错误信息,尝试理解它的意思,然后一步一步地找出解决办法。这样,你就能更快地解决问题,继续你的编程之旅。
T = [L[i] for i in Idx]