我正在尝试学习 python,尤其是列表,但我有一个小问题。我有两个清单:
alist=[1,2,3,4,5,6,7,8,9,1,2,3]
blist=["a","b","c","d","e","f","g","h","i","a","b","c"]
我想做的是从“两个列表”中删除重复项。即只有当 alist 的一个元素和它在 blist 中的对应元素(成对)相同时,我才删除它们。我期待一个结果,看起来像:
alist=[1,2,3,4,5,6,7,8,9]
blist=["a","b","c","d","e","f","g","h","i"]
所以,我尝试先在 zip 上做一组:
kk=set(zip(alist,blist))
然后做:
alist[:],blist[:]=zip(*kk)
然后我得到:
alist=[5, 6, 4, 7, 3, 8, 2, 1, 9]
blist=['e', 'f', 'd', 'g', 'c', 'h', 'b', 'a', 'i']
如您所见,订单未得到维护。我想知道是否有可能以某种方式使用“排序”和“索引”来以正确的顺序获取列表。任何指导将不胜感激。
python版本是2.7.3