我有两个具有相同数量元素的列表,所有元素都是字符串。这些字符串是相同的集合,但是在每个列表中顺序不同,没有重复。
list_a = ['s1', 's2', 's3', 's4', 's5', ...]
list_b = ['s8', 's5', 's1', 's9', 's3', ...]
我需要遍历其中的每个元素list_a
并找到list_b
包含相同元素的索引。我可以使用两个嵌套的for循环来做到这一点,但必须有一种更好/更有效的方法:
b_indexes = []
for elem_a in list_a:
for indx_b, elem_b in enumerate(list_b):
if elem_b == elem_a:
b_indexes.append(indx_b)
break
如果没有重复项,则可以使用list.index()
:
list_a = ['s1', 's2', 's3', 's4', 's5']
list_b = ['s8', 's5', 's1', 's9', 's3']
print [list_b.index(i) for i in list_a]
您只需要使用一个for循环,因为您已经说过list_a中的字符串也出现在list_b中,因此无需if elem_b == elem_a:
遍历第二个列表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句