【问题标题】:Is there a brief way to Get the indices of all elements from list A in list B [duplicate]有没有一种简单的方法可以从列表 B 中的列表 A 中获取所有元素的索引 [重复]
【发布时间】:2021-04-27 23:10:01
【问题描述】:

假设我们有两个列表,A 和 B。有没有办法获取列表 B 中的元素的索引,它们在列表 A 中?

例如:

A = [1,2,3,4]
B = [3,4,1,2,5]

结果应该是:

[2,3,0,1]

是否可以不使用 for 循环(或快速)来实现?

【问题讨论】:

  • 是的,有一种方法可以获取索引。到目前为止,您尝试过什么?
  • 这能回答你的问题吗? Find indexes of common items in two python lists
  • [B.index(a) for a in A]
  • 请阅读@MadyDaby 的链接。如果没有 for 循环,您将无法做到这一点,但您可以将 for 循环作为列表理解的一部分。
  • 请从intro tour 重复on topichow to ask。 “告诉我如何解决这个编码问题”不是堆栈溢出问题。我们希望您做出诚实的尝试,然后然后就您的算法或技术提出一个具体的问题。 Stack Overflow 无意取代现有的文档和教程。

标签: python list indexing


【解决方案1】:

这应该适用于您的用例:

result = [A.index(x) for x in B if x in A]

【讨论】:

  • 谢谢,我认为 for-loop 是必要的:)
【解决方案2】:

使用索引函数

A = [1,2,3,4]
B = [3,4,1,2,5]
lst=[]
for i in A:
    res=B.index(i)
    lst.append(res)
print(lst)
# [2, 3, 0, 1]

【讨论】:

  • 是的,for循环很容易
猜你喜欢
  • 2011-02-17
  • 2021-10-28
  • 2023-02-13
  • 1970-01-01
  • 2023-04-06
  • 2021-01-24
  • 2016-02-13
  • 1970-01-01
相关资源
最近更新 更多