Как удалить дубликаты в массиве на Python?

Пользователь

от linnea , в категории: Python , 3 года назад

Как удалить дубликаты в массиве на Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kaleigh , 3 года назад

@linnea Вы можете использовать list() и set() функцию, чтобы удалить дубликаты в массиве на Python, посмотрите небольшой пример ниже:


1
2
3
4
5
arr = [1, 1, 2, 3, 2, 1, 6]
arr = list(set(arr))

# Вывод: [1, 2, 3, 6]
print(arr)


Пользователь

от magdalen_kub , 2 года назад

@linnea 

Есть несколько способов удаления дубликатов в массиве на Python:

  1. С помощью функции set(): преобразовать массив в множество, а затем обратно в список. Множество не содержит дубликатов, поэтому они будут удалены при обратном преобразовании.
1
2
3
my_list = ["apple", "banana", "cherry", "banana", "orange", "apple"]
my_list = list(set(my_list))
print(my_list) # ["cherry", "banana", "apple", "orange"]


  1. Использование цикла for: создать новый пустой список и добавить в него только уникальные элементы из исходного списка.
1
2
3
4
5
6
my_list = ["apple", "banana", "cherry", "banana", "orange", "apple"]
new_list = []
for item in my_list:
    if item not in new_list:
        new_list.append(item)
print(new_list) # ["apple", "banana", "cherry", "orange"]


  1. Использование спискового выражения: создать новый список, который будет содержать только уникальные элементы из исходного списка.
1
2
3
my_list = ["apple", "banana", "cherry", "banana", "orange", "apple"]
new_list = list(set([item for item in my_list]))
print(new_list) # ["cherry", "banana", "apple", "orange"]


Каждый из этих способов может быть эффективен в разных ситуациях.