#python-3.x
#python-3.x
Вопрос:
Пример:
a={2:[2,2,3,5,6,7], 3:[5,5,2,3,7,7,8],...}
a — это dict, и я хочу удалить повторяющиеся элементы в значениях, а затем изменить dict следующим образом:
a={2:[2,3,5,6,7], 3:[5,2,3,7,8],...}
Как реализовать?
Комментарии:
1. вместо list в качестве значения вы можете попробовать set? это автоматически не допускает дублирования, но не гарантирует порядок вставки
Ответ №1:
Если порядок не имеет значения, используйте это понимание списка, которое в основном преобразует каждый список в набор (который автоматически удаляет дубликаты), а затем преобразует его обратно в список:
a = {2:[2,2,3,5,6,7], 3:[5,5,2,3,7,7,8]}
a = {k: list(set(a[k])) for k in a}
print(a) # ==> {2: [2, 3, 5, 6, 7], 3: [2, 3, 5, 7, 8]}
Ответ №2:
вы можете использовать set
для удаления дубликатов
a = {2:[2,2,3,5,6,7], 3:[5,5,2,3,7,7,8],...}
# using dict comprehension
a = {key: list(set(value)) for key, value in a.items()}
прочитайте больше о наборах:https://docs.python.org/3/tutorial/datastructures.html#sets