如何获取知道其索引的元素

时间:2018-03-27 00:36:57

标签: python list indexing

我的程序有点麻烦,我想知道列表中的一些元素,然后将这些元素添加到另一个列表中...例如:

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

所以我想用索引“0”和“2”取出a的元素并将它们添加到c列表中。

5 个答案:

答案 0 :(得分:2)

评论也很有帮助,但这里简明扼要: 循环遍历b中的元素,从a中取出索引并将其附加到c。

for i in b:
    c.append(a.pop(i))

可能有一种方法可以使用列表理解,但我还不知道。 希望这有帮助!

答案 1 :(得分:1)

要从列表中删除元素:

a.remove(0)

或者你可以做到

del a[0]

要将元素添加到列表中:

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

答案 2 :(得分:0)

遍历您的indices数组,弹出索引处的项目并将其附加到新数组。

i = 0
while i < len(b):
c.append(a.pop(b[i]))
i+=1

答案 3 :(得分:0)

您可以将第一个数组转换为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')

将c转换回列表,只需使用.tolist()

print(c.tolist())
>>> ['dog', 'house']

答案 4 :(得分:0)

试试这个小代码:

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

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

输出:

['dog', 'house']