我的清单如下.
mylist =
[
[
[
"chocolate_pudding",
920.8000000000001
],
[
"caramel_pudding",
345.59999999999997
],
[
"pudding",
248.0
],
[
"banana_pudding",
27.599999999999998
]
],
[
[
"biscuits",
190.8
],
[
"chocolates",
33.599999999999994
],
[
"chocolate_pudding",
920.8000000000001
]
],
[
[
"tiramusu",
145.8
]
],
[
[
"cakes",
139.29999999999998
]
],
[
[
"butter_cakes",
133.0
]
],
[
[
"chocolate_pudding",
920.8000000000001
]
]
]
我想找到在列表中多次出现的元素(例如[“ chocolate_pudding”,920.8000000000001]),并希望删除重复的元素,同时保留第一个条目.
因此,我的输出应如下所示.
mylist =
[
[
[
"chocolate_pudding",
920.8000000000001
],
[
"caramel_pudding",
345.59999999999997
],
[
"pudding",
248.0
],
[
"banana_pudding",
27.599999999999998
]
],
[
[
"biscuits",
190.8
],
[
"chocolates",
33.599999999999994
]
],
[
[
"tiramusu",
145.8
]
],
[
[
"cakes",
139.29999999999998
]
],
[
[
"butter_cakes",
133.0
]
]
]
我一直在尝试的代码如下.
mylist_copy = mylist
for item in mylist:
myindex = mylist.index(item)
#print(item)
for single_item in item:
#print(single_item)
for item_copy in mylist_copy:
if mylist_copy.index(item_copy) != myindex:
if single_item in item_copy:
print(single_item)
因为,它有许多for循环,所以我想要一种有效的方法.注意:我也尝试过;
mylist_copy = mylist
for item in mylist:
myindex = mylist.index(item)
for item_copy in mylist_copy:
if mylist_copy.index(item_copy) != myindex:
print(set(item).intersection(item_copy))
但是,交集不支持列表.
在python中有一种简便快捷的方法吗?