如何比較兩個無序列表與無序列表中的列表?如何比較列表中無序列表的兩個無序列表?
假設兩個列表中的列表不一定是相同的順序。另外假設列表中的列表中的項目順序不一定是相同的順序。一個例子如下:
dummy_list_A = [['A'], ['B'], ['C', 'D']]
dummy_list_B = [['B'], ['A'], ['D', 'C']]
我已經看過的堆棧溢出的問題的答案,如Test if two lists of lists are equal和他們沒有工作。您可以在下面看到,比較列表列表的最常見答案不適用於我的場景。
print sorted(dummy_list_A) == sorted(dummy_list_B)
False
print set(map(tuple,dummy_list_A)) == set(map(tuple,dummy_list_B))
False
print ((len(dummy_list_A) == len(dummy_list_B)) and (all(i in dummy_list_B for i in dummy_list_A)))
False
應該將[['A'],['C'],['B','D']]與其中任何一個進行比較嗎? –
元素是否可拆分?建築物(冷凍)套裝可能比分揀效率更高。 – chepner
@chepner這可能不起作用,因爲它不會影響重複的元素。 –