首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python 3子元素列表比较

Python 3子元素列表比较
EN

Stack Overflow用户
提问于 2018-05-29 08:27:21
回答 1查看 98关注 0票数 -2

我有一个包含以下元素的列表

代码语言:javascript
复制
queue = [[(1, 5), 4, (1, 4)], [(2, 2), 6, (2, 3)], 
         [(1, 3), 6, (2, 3)], [(1, 3), 6, (1, 4)]]

还有一个叫

代码语言:javascript
复制
neighbors = [[(1, 5), 4, (1, 4)], [(1, 3), 6, (1, 4)], 
             [(2, 4), 4, (1, 4)], [(0, 4), 6, (1, 4)]]

如何检查第二个列表中的第一个元组元素是否存在于第一个元组元素中?

通常我会这样做:

代码语言:javascript
复制
for item in neighbors:
    if item[0] in queue:
        Do something...

但这遗漏了一些东西。

EN

回答 1

Stack Overflow用户

发布于 2018-05-29 08:32:38

将索引构建到queue中,如下所示:

代码语言:javascript
复制
queue_exists = set(q[0] for q in queue)

然后在queue中测试if,如:

代码语言:javascript
复制
if item[0] in queue_exists:

测试代码:

代码语言:javascript
复制
queue = [[(1, 5), 4, (1, 4)], [(2, 2), 6, (2, 3)], [(1, 3), 6, (2, 3)],
         [(1, 3), 6, (1, 4)]]

neighbors = [[(1, 5), 4, (1, 4)], [(1, 3), 6, (1, 4)], [(2, 4), 4, (1, 4)],
             [(0, 4), 6, (1, 4)]]

queue_exists = set(q[0] for q in queue)

for item in neighbors:
    if item[0] in queue_exists:
        print(item)

结果:

代码语言:javascript
复制
[(1, 5), 4, (1, 4)]
[(1, 3), 6, (1, 4)]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50574791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档