幕布斯6054654
2019-08-31 14:36:13
在Python中,計(jì)算兩個(gè)列表之間差異的最佳方法是什么?例A = [1,2,3,4]B = [2,5]A - B = [1,3,4]B - A = [5]
3 回答

胡子哥哥
TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
使用set,如果你不關(guān)心項(xiàng)目的順序或重復(fù)。如果您這樣做,請(qǐng)使用列表推導(dǎo):
>>> def diff(first, second):
second = set(second)
return [item for item in first if item not in second]
>>> diff(A, B)
[1, 3, 4]
>>> diff(B, A)
[5]
>>>

冉冉說(shuō)
TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
如果訂單無(wú)關(guān)緊要,您可以簡(jiǎn)單地計(jì)算設(shè)定差異:
>>> set([1,2,3,4]) - set([2,5])
set([1, 4, 3])
>>> set([2,5]) - set([1,2,3,4])
set([5])
添加回答
舉報(bào)
0/150
提交
取消