正在计算唯一嵌套列表



我有一个嵌套列表,比如

list1 = [['banana', 'apple', 'orange', 'tomato'], ['apple', 'orange', 'tomato', 'banana'], ['orange', 'tomato', 'banana', 'apple'], ['banana', 'apple', 'orange', 'tomato'], ['apple', 'orange', 'tomato', 'banana']]

如何计算唯一数量?在这种情况下,有3个唯一的嵌套列表:["banana"、"apple"、"orange"、"tomato"],[‘苹果’、‘桔子’、‘番茄’、‘香蕉’],[‘范围’、‘番茄’、‘香蕉’、‘苹果’]

事实上,嵌套列表的长度将从两千到三千

如果将每个列表转换为tuple,则可以将它们全部放入set中,从而自动消除重复:

>>> {tuple(fruits) for fruits in list1}
{('orange', 'tomato', 'banana', 'apple'), ('apple', 'orange', 'tomato', 'banana'), ('banana', 'apple', 'orange', 'tomato')}

如果你想把它放回列表表单中:

>>> [list(fruits) for fruits in {tuple(fruits) for fruits in list1}]
[['orange', 'tomato', 'banana', 'apple'], ['apple', 'orange', 'tomato', 'banana'], ['banana', 'apple', 'orange', 'tomato']]

最新更新