为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

千巷猫影 2022-12-06 14:59:01
我有两个列表,我想从中选择对,这样一组中的每个项目只有在它们不相同时才与另一组中的另一个项目配对。这是我到目前为止尝试过的代码。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)


查看完整回答
反对 回复 2022-12-06
?
米脂

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)]


查看完整回答
反对 回复 2022-12-06
  • 2 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信