我有兩個列表,我想從中選擇對,這樣一組中的每個項目只有在它們不相同時才與另一組中的另一個項目配對。這是我到目前為止嘗試過的代碼。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
提交
取消
