【发布时间】:2018-07-31 14:03:55
【问题描述】:
我想基本上使用一个列表,即。
L = [10, 10, 100, 10, 17, 15]
并使用另一个列表
R = [10, 15]
想回来
N = [0, 1, 3, 5] // indices of L that return the values in R
尝试 SOLN
我尝试使用 L.index() 来获取索引,但它只返回第一个值。然后我尝试在 L 上运行一个 for 循环并每次都使用 L.index(R[0]) ,但同样只返回它找到的第一个索引。
for i in range(len(L)):
j = R[i]
N.append(L.index(j))
return N
这会返回超出范围的索引,这是有道理的,但是我如何让它通过 L 呢?
谢谢
【问题讨论】:
-
将
if x == "whatever"部分替换为if x in R。将R先转换成集合R = set(R)可以提高效率。 -
@Aran-Fey 是的,差不多,但他们同样只考虑一次只检查一个值,即 L.index(#) 一次不能传入 L。在下面知道了,谢谢!