gpt4 book ai didi

python - 如果我不使用集合,如何检查一个列表中的值是否在另一个列表中,并在 Python 中使用 if 语句的一行?

转载 作者:太空宇宙 更新时间:2023-11-04 07:16:13 24 4
gpt4 key购买 nike

我正在尝试构建一个单行代码,它会检查一个列表中的任何值是否存在于另一个列表中,如果存在或不存在,则返回 True 或 False。

我最接近的是:

[i in list1 for i in list2]

问题在于它将遍历 list1 并根据 list1 中的项目是否存在于 list2 中输出 True 和 False 列表。

然后我可以做的是遍历这个新创建的 True 和 False 列表,但我不能在同一行中这样做。在这种情况下,我无法使用集合或导入任何函数,因为我将其用作第三方软件中的条件,您无法在条件中插入集合或使用函数。

最佳答案

您可以使用带有生成器表达式的 any(..) 内置函数:

any(e in list2 for e in list1)

因此这将检查是否至少有一个元素同时出现在两个列表中。

但请注意,这将导致最坏情况的 O(n2) 算法。例如,如果元素是可散列的,并且您可以使用 set,我们可以使它成为一个 O(n) 平均情况算法。

关于python - 如果我不使用集合,如何检查一个列表中的值是否在另一个列表中,并在 Python 中使用 if 语句的一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45098771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com