“是否有用于查找元素向量索引的python函数?”

2024-05-20 12:29:00 发布

您现在位置:Python中文网/ 问答频道 /正文

x = ["Moon","Earth","Jupiter","Neptune","Earth","Venus"]
get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]
print(get_indexes("Earth",x))

Tags: lambdainforgetlenifrangezip
2条回答

list comprehensionenumeration的组合可以达到这个目的

indices = [i for i, d in enumerate(x) if d == "Earth"]

对于1项目,请使用list.index

>>> x = ["Moon","Earth","Jupiter","Neptune","Earth","Venus"]
>>> x.index("Earth")
1

对于所有索引,作为lambda函数:

>>> indexes = lambda l, k: [i for i, e in enumerate(l) if e == k] 
>>> indexes(x, "Earth")
[1, 4]

相关问题 更多 >