You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用AND运算符合并两个列表并提取两者共有的元素

问题原因

你写的原有代码存在两个问题:

  • 内层循环的index变量完全没有被使用,嵌套属于无效逻辑,额外拉高了时间复杂度。而且你写的i in testlist1判断完全多余,因为i本身就是从testlist1遍历出来的,必然属于该列表
  • 如果两个列表本身不存在公共的int元素,最终返回的结果自然为空
实现方案

方案1:按要求用遍历+AND逻辑判断实现

testlist1 = inverted_index['amsterdam']
testlist2 = inverted_index['utrecht']
merged_testlist = []
for i in testlist1:
    # AND逻辑同时满足两个条件:存在于testlist2、还没被加入结果列表
    if i in testlist2 and i not in merged_testlist:
        merged_testlist.append(i)
print(merged_testlist)

方案2:更高效的集合交集实现(时间复杂度更低)

testlist1 = inverted_index['amsterdam']
testlist2 = inverted_index['utrecht']
# 用集合的&运算符做交集运算,自动去重后转列表即可
merged_testlist = list(set(testlist1) & set(testlist2))
print(merged_testlist)

提示:如果修改代码后还是返回空列表,请先分别打印两个列表的内容,确认二者确实存在公共的int数值。

内容的提问来源于stack exchange,提问作者noobmaster69

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:06:02