Python 如何取出已知索引的元素

Python 如何取出已知索引的元素,python,list,indexing,Python,List,Indexing,我的程序有点问题,我想从一个列表中提取几个元素,知道它们的索引,然后将这些元素添加到另一个列表中。。。例如: a= ['dog','cat','house','car'] c=[] #list with the indexes: b=[0,2] 因此,我想取出索引为“0”和“2”的a元素,并将它们添加到c列表中。迭代索引数组,在索引处弹出该项,并将其附加到新数组中 i = 0 while i < len(b): c.append(a.pop(b[i])) i+=1 i=0 而我

我的程序有点问题,我想从一个列表中提取几个元素,知道它们的索引,然后将这些元素添加到另一个列表中。。。例如:

a= ['dog','cat','house','car']
c=[]
#list with the indexes:
b=[0,2]

因此,我想取出索引为“0”和“2”的a元素,并将它们添加到c列表中。

迭代索引数组,在索引处弹出该项,并将其附加到新数组中

i = 0
while i < len(b):
c.append(a.pop(b[i]))
i+=1
i=0
而我
这些评论也很有帮助,但这里简单介绍一下: 循环遍历b中的元素,从a中取出索引并将其附加到c

for i in b:
    c.append(a.pop(i))
也许有一种方法可以通过列表理解来实现,但我还不知道。
希望这有帮助

要从列表中删除元素:

a.remove(0)
或者你可以

del a[0]
要将元素添加到列表中,请执行以下操作:

c.insert(0,'dog')
c.insert(1,'house')

可以将第一个数组转换为numpy数组。然后您可以简单地从b传递索引

import numpy as np
a = np.array(['dog','cat','house','car'])
b = [0,2]
c = a[b]

print(c) 
>>> array(['dog', 'house'],
  dtype='<U5')
请尝试以下小代码:

a= ['dog','cat','house','car']
b=[0,2]

print(list(map(lambda x:a[x],b)))
输出:

['dog', 'house']

c=[a[i]代表b中的i]
这些信息(
del list1[2];
list1.append('a')
)可能会对您有所帮助,您可以自己用谷歌搜索使用。如果您想使用列表理解:
c=[a.pop(i)代表b中的i]
@t.m.adam谢谢您的信息!我还在学习,但我猜可能是这样的。不客气!如果你愿意的话,你可以在你的答案中包含这一点,尽管它是很好的。
['dog', 'house']