首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从列表中查找和为偶数的对

从列表中查找和为偶数的对
EN

Stack Overflow用户
提问于 2020-10-14 13:03:01
回答 3查看 48关注 0票数 0

我需要从一个列表中找到对,当相加的时候和是偶数示例:list=[1,4,3,2,5,6,7] paired_list=[(1,3),(1,5),(1,7),(4,2),(4,6),(3,5),(3,7)..and so on]这些对不应该重复。1+3=4为偶数(1+5)=6为偶数

EN

回答 3

Stack Overflow用户

发布于 2020-10-14 13:09:34

使用itertools生成组合并应用逻辑。

代码语言:javascript
复制
from itertools import combinations
l1=[1,4,3,2,5,6,7]

comb=[ i for i in  combinations(l1,2) if sum(i)%2==0]

print (comb)
票数 3
EN

Stack Overflow用户

发布于 2020-10-14 13:09:27

您可以使用带条件的列表理解,以确保和是偶数,即将和除以2后的余数等于零:

代码语言:javascript
复制
[(i,j) for i in lst for j in lst if i != j and (i+j)%2 == 0]

输出:

代码语言:javascript
复制
[(1, 3),
 (1, 5),
 (1, 7),
 (4, 2),
 (4, 6),
 (3, 1),
 (3, 5),
 (3, 7),
 (2, 4),
 (2, 6),
 (5, 1),
 (5, 3),
 (5, 7),
 (6, 4),
 (6, 2),
 (7, 1),
 (7, 3),
 (7, 5)]
票数 1
EN

Stack Overflow用户

发布于 2020-10-14 13:16:14

只需循环遍历元素并检查和

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

output_list = []
for i in list:
    for j in range(i+1, len(list), 1):
        if (i + list[j]) % 2 == 0:
            output_list.append([i, list[j]])

print(output_list)

输出

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

https://stackoverflow.com/questions/64346893

复制
相关文章

相似问题

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