我有两个列表,我想从中选择对,这样一组中的每个项目只有在它们不相同时才与另一组中的另一个项目配对。这是我到目前为止尝试过的代码。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 01 01 01 21 21 21 41 44 04 04 04 24 14 24 24 1...但是,试图获得这样的结果......1 04 00 13 23 23 43 11 4由于我是 python 的新手,所以我很难解决这个问题。有人可以指导我实现我的目标吗?问候。
2 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
将列表压缩在一起,过滤结果。
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)
米脂
TA贡献1836条经验 获得超3个赞
[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)]
添加回答
举报
0/150
提交
取消