![](/img/trans.png)
[英]Python code to access sub-List by index of first element of that sub-List
[英]Finding minimum index of a sub-list of a list
比如说,我有一个列表和一个从该列表构建的子列表。 我想从原始列表中最早出现的子列表中找到数字。
例子:
lst = [5, 3, 4, 1, 2, 6]
sublst = [1, 2, 3]
在这种情况下,我想lst
3 因为它出现在第 2 名,而 1 和 2 分别出现在第 4 和第 5 名。 到目前为止我所拥有的:
lst[min(lst.index(num) for num in sublst)]
这似乎非常复杂且难以阅读。 我想知道是否有更清洁的方法来写这个。
您应该使sublst
成为一个集合,以使其在其中搜索更有效。 然后你可以使用一个简单for
循环:
lst = [5, 3, 4, 1, 2, 6]
sublst = set([1, 2, 3])
for l in lst:
if l in sublst:
break
print(l)
您也可以将其写为生成器理解,在lst
中sublst
中的所有值。 通过使用生成器,我们将在第一个匹配值处停止:
first = (l for l in lst if l in sublst)
print(next(first))
Output 在这两种情况下,您的样本数据都是
3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.