我正在尝试从多维列表中删除重复项。我的目标是删除列表中相同的项目。
例如:列表2,列表6和列表7包含汽车Bentley。我想从清单2中删除那辆车。
我如何做到这一点?
下面的代码仅在传递包含重复条目的单个列表时才有效,但是我需要对多维列表进行重复数据删除。
cars = [
["Acura", "Alfa Romeo", "Aston Martin", "Audi", "Aston Martin"],
["Bentley", "BMW", "Bugatti", "Buick"],
["Cadillac", "Chrysler", "Citroen"],
["Dodge", "Ferrari", "Fiat", "Ford"],
["Geely", "Honda", "Hyundai", "Infiniti"],
["Alfa Romeo", "Bentley", "Hyundai", "Lamborghini"],
["Koenigsegg", "Bentley", "Maserati", "Lamborghini"]
]
def remove(duplicate):
final_list = []
for num in duplicate:
if num not in final_list:
final_list.append(num)
return final_list
print (remove(cars))
returns:
[
['Acura', 'Alfa Romeo', 'Aston Martin', 'Audi','Aston Martin']
['Bentley', 'BMW', 'Bugatti', 'Buick'],
['Cadillac', 'Chrysler', 'Citroen'],
['Dodge', 'Ferrari', 'Fiat', 'Ford'],
['Geely', 'Honda', 'Hyundai', 'Infiniti'],
['Alfa Romeo', 'Bentley', 'Hyundai', 'Lamborghini'
['Koenigsegg', 'Bentley', 'Maserati', 'Lamborghini']
]
重复数据删除后我想要的输出如下所示。此多维列表中没有列表包含重复的条目。
[
['Acura', 'Alfa Romeo', 'Aston Martin', 'Audi']
['Bentley', 'BMW', 'Bugatti', 'Buick'],
['Cadillac', 'Chrysler', 'Citroen'],
['Dodge', 'Ferrari', 'Fiat', 'Ford'],
['Geely', 'Honda', 'Hyundai', 'Infiniti'],
['Bentley', 'Hyundai', 'Lamborghini'
['Koenigsegg', 'Maserati']
]
答案 0 :(得分:2)
您可以这样做:
derive
输出
Debug
答案 1 :(得分:0)
您可以将记忆力用于此目的。将每个元素的第一次出现存储在列表中,例如说 list F 。如果元素不在F中,则它是唯一的。将唯一元素存储在F中,然后重复该过程。