如何从两个列表/中选择对?

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


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 的新手,所以我很难解决这个问题。有人可以指导我实现我的目标吗?


问候。


千巷猫影
浏览 83回答 2
2回答

慕田峪7331174

将列表压缩在一起,过滤结果。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)]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python