我的程序有点麻烦,我想知道列表中的一些元素,然后将这些元素添加到另一个列表中...例如:
a= ['dog','cat','house','car']
c=[]
#list with the indexes:
b=[0,2]
所以我想用索引“0”和“2”取出a的元素并将它们添加到c列表中。
答案 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']