繁体   English   中英

如何从两个列表中获得 select 对/?

[英]How to select pairs from two lists/?

我有两个列表,我想从中配对 select 对,这样一组中的每个项目仅在它们不相同时才与另一组中的另一个项目配对。 这是我到目前为止尝试的代码。

start1 = [1, 4, 0, 2, 0, 3, 3, 3, 3, 1]
end1 = [0, 0, 0, 2, 1, 2, 2, 4, 1, 4]

for x in start1:
    for y in end1:
        if x != y:
            print(x,y)

上面的代码给了我看起来像这样的结果......

1 0
1 0
1 0
1 2
1 2
1 2
1 4
1 4
4 0
4 0
4 0
4 2
4 1
4 2
4 2
4 1
.
.
.

然而,试图得到这样的结果......

1 0
4 0
0 1
3 2
3 2
3 4
3 1
1 4

由于我是 python 的新手,我在解决这个问题时遇到了困难。 有人可以指导我实现我的目标吗?

问候。

Zip 将列表放在一起,过滤结果。

start1 = [1, 4, 0, 2, 0, 3, 3, 3, 3, 1]
end1 = [0, 0, 0, 2, 1, 2, 2, 4, 1, 4]

for x, y in zip(start1, end1):
    if x != y:
        print(x,y)
[item for item in zip(start1, end1) if item[0] != item[1]]
>> [(1, 0), (4, 0), (0, 1), (3, 2), (3, 2), (3, 4), (3, 1), (1, 4)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM