Создайте набор из списка, используя {}

Иногда у меня есть список, и я хочу сделать с ним несколько заданий. Я пишу такие вещи, как:

>>> mylist = [1,2,3] >>> myset = set(mylist) {1, 2, 3} 

Сегодня я обнаружил, что из Python 2.7 вы также можете определить набор, непосредственно говоря {1,2,3} , и он представляется эквивалентным способом его определения.

Затем я задавался вопросом, могу ли я использовать этот синтаксис для создания набора из данного списка.

{list} завершается с ошибкой, потому что он пытается создать набор только с одним элементом – списком. И списки рассосаются.

 >>> mylist = [1,2,3] >>> {mylist} Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unhashable type: 'list' 

Поэтому мне интересно: есть ли способ создать набор из списка, используя синтаксис {} вместо set() ?

3 Solutions collect form web for “Создайте набор из списка, используя {}”

Недавно я задал связанный с ним вопрос: Python Set: почему my_set = {* my_list} недействителен? , Мой вопрос содержит ваш ответ, если вы используете Python 3.5

 >>> my_list = [1,2,3,4,5] >>> my_set = {*my_list} >>> my_set {1, 2, 3, 4, 5} 

Он не будет работать на Python 2 (это был мой вопрос)

В основном они не эквивалентны (выражение vs function). Основная цель добавления {} в python заключалась в том, что было установлено множество понятий (например, понимание списка ), которые вы также можете создать с помощью этого набора, передав некоторые хешируемые объекты.

Поэтому, если вы хотите создать набор с помощью {} из итерации, вы можете использовать множество понятий, например:

 {item for item in iterable} 

Также обратите внимание, что пустые фигурные скобки представляют собой словарь в python, а не набор. Поэтому, если вы хотите просто создать пустой набор, правильный способ – использовать функцию set() .

Вы можете использовать

 >>> ls = [1,2,3] >>> {i for i in ls} {1,2,3} 
  • Создание deb или rpm с помощью setuptools - data_files
  • ранжирование позиций в списке терминов
  • Как удалить дату и время pandas, часы и секунды
  • вход на веб-сайт с использованием запросов
  • Python: weird «NameError: name ... не определен» в среде «exec»
  • Доступ к API разработчика eBay через Python?
  • Значение возвращаемой функции?
  • Неожиданное поведение itertools.groupby
  • Py2exe для Python 3.0
  • Подсчет числа дней недели между двумя датами
  • Проверка наличия NaN в контейнере
  •  
    Interesting Posts for Van-Lav

    Циркулярный импорт модели SQLAlchemy

    Запрос python xml get parent

    Как сделать красивую матрицу из словаря

    Почему мы используем параметр name при создании переменной в Tensorflow?

    Django: динамически добавлять приложения в качестве плагина, автоматически создавать URL-адреса и другие настройки

    как удалить текст из текстового поля, используя API-интерфейс monkeyrunner (скрипт Python)

    Как реализовано set ()?

    Динамический список, который автоматически расширяется

    Python – превратить содержимое файла в двоичный массив

    Как веб-сервер python преодолевает GIL

    Путь Python для пула приложений Google App Engine

    Python Dijkstra k кратчайшие пути

    Как я могу использовать регистратор Django для регистрации трассировки, когда я говорю?

    Может ли кто-нибудь сказать, что случилось с моими отношениями?

    Где происходит повышение производительности реализации реализации карт или списков над вызовом функции через цикл?

    Python - лучший язык программирования в мире.