От этой структуры данных: [(1,2),(1,3),(1,4),(1,5)]
Я свяжусь, чтобы получить уникальные значения, или [1,2,3,4,5]
. Какое здесь простое решение?Уникальные одиночные значения из списка пар кортежей?
ответ
Вы можете использовать set
с пониманием списка:
lst = [(1,2),(1,3),(1,4),(1,5)]
set(j for i in lst for j in i)
# {1, 2, 3, 4, 5}
Это первый и самый простой/питонический способ решить вопрос. Отличный ответ. –
Вы также можете использовать множество понятий: '{j для i в lst для j в i}'. :) – MSeifert
Используйте chain.from_iterable
от модуля itertools
. Обычно считается, что это идиоматический способ сгладить 2D-итерацию, а не вложенное понимание списка. См. Вопрос this.
>>> from itertools import chain
>>> set(chain.from_iterable([(1,2),(1,3),(1,4),(1,5)]))
{1, 2, 3, 4, 5}
chain.from_iterable
сглаживает список и set
сохраняет только уникальные значения.
Чтобы преобразовать обратно в список, просто перейдите к конструктору list
.
>>>list(set(chain.from_iterable([(1,2),(1,3),(1,4),(1,5)])))
[1, 2, 3, 4, 5]
В ожидаемом выходе порядок уникальных элементов соответствует порядку появления. Один из способов сделать это было бы (используя внешнюю библиотеку, но рецепты в докладе доступны itertools
-recipes section):
>>> from iteration_utilities import flatten, unique_everseen
>>> x = [(1,2),(1,3),(1,4),(1,5)]
>>> list(unique_everseen(flatten(x)))
[1, 2, 3, 4, 5]
- 1. уникальные значения из списка
- 2. Отбрасывание значения из списка кортежей
- 3. Получение значения из списка кортежей
- 4. Уникальные комбинации из 4 из списка кортежей в haskell
- 5. выбор из кортежей списка
- 6. Элегантный способ создания словаря пар, из списка кортежей?
- 7. Поиск ключей в dict, из списка кортежей пар
- 8. Как создать уникальные неповторяющиеся комбинации пар из списка
- 9. Возвратите уникальные кортежи из списка кортежей в Haskell
- 10. Как возвращать значения кортежей из списка
- 11. erlang, извлекать значения из списка кортежей непрерывно
- 12. Выбор наименьшего значения из списка координат кортежей
- 13. Как группировать значения из списка кортежей?
- 14. Получить уникальные/неповторяющиеся значения из списка
- 15. Выберите уникальные значения из списка 3
- 16. уникальные значения в списке из другого списка
- 17. Создание списка кортежей из списка
- 18. Создание списка из пар
- 19. Построение списка из кортежей
- 20. Удаление кортежей из списка
- 21. Python: из списка кортежей в словаре кортежей
- 22. Фильтр RDD кортежей из другого списка кортежей
- 23. значение извлечения кортежей из списка кортежей
- 24. исключить первую позицию кортежей из списка кортежей
- 25. Python - создание пар кортежей от
- 26. Уникальные списки из списка
- 27. удаления кортежей из списка (Haskell)
- 28. Значения пар из двух списков
- 29. Удалить значения из списка, оставляя только уникальные значения
- 30. Большинство способов Pythonic для выбора отдельных кортежей из списка кортежей
Пользуется промежуточный набор хорошо? – Nic