Как преобразовать список в набор в Python

Бизнесмен, используя портативный компьютер в офисе

Вы можете преобразовать список в набор на Python.

Кредит изображения: Poike / iStock / GettyImages

Списки и наборы в Python содержат группы элементов, но между ними есть важные различия. В частности, наборы полезны для выполнения широкого круга операций, таких как объединения и пересечения, в то время как списки имеют меньше математических операций, но они полезны для поиска определенных элементов - особенно с дубликатами - и организации данные. По многим причинам вам может потребоваться преобразовать список в набор в Python, и есть простая функция, которую вы можете использовать для этого.

Объяснение списков и наборов Python

Наиболее важное различие между списком и набором в Python заключается в том, что список может содержать повторяющиеся элементы, а набор содержит только уникальные элементы. Например, если у вас есть список результатов тестов, определенный как «scores = [14, 20, 13, 20, 15]», список сообщает вам каждое значение, но если вы конвертируете его в набор, он удаляет дубликат и оставляет {14, 20, 13, 15}.

Видео дня

Другое отличие состоит в том, что квадратные скобки используются для списков, а фигурные скобки - для наборов. Ситуация немного усложняется тем, что в словаре Python также используются фигурные скобки, но там каждый элемент состоит из самого значения и «ключа», разделенных двоеточием.

Важно помнить, что вы можете использовать строки, целые числа, числа с плавающей запятой или другие объекты как часть набора или списка, и они также могут быть смешаны в одном наборе или списке. Итак, точно так же, как у вас может быть набор чисел в Python, вы также можете создать набор строк Python.

Преобразование списка в набор

Процесс преобразования списка в набор в Python прост. Во-первых, вы определяете список таким образом, чтобы он имел смысл для содержащейся в нем информации. Например, если вы хотите определить список имен, вы можете написать names = ['Ли', 'Майк', 'Джейми', 'Майк', 'Сара'] отмечая квадратные скобки, кавычки вокруг строк (имен) и запятые, разделяющие каждую запись.

Чтобы преобразовать этот список в набор, вы используете команду набор(), где вы помещаете имя списка, который хотите преобразовать, в круглые скобки. Итак, в этом случае вы можете написать набор (имена) чтобы преобразовать имена в списке в набор, и вы можете назначить ему переменную, такую ​​как "uniquenames", и отобразить результат, используя печать (уникальные имена), что функционально эквивалентно печать (набор (имена)) но аккуратнее. Вы подтверждаете, что это было сделано правильно, отмечая, что в результате используются фигурные скобки, а «Майк» включается только один раз.

Весь код выглядит так:

names = ['Ли', 'Майк', 'Джейми', 'Майк', 'Сара']

uniquenames = set (имена)

print ('Уникальные имена:', уникальные имена)

В этом случае «Уникальные имена:» были добавлены к выходным данным для целей презентации.

Python: преобразование в список

Вы также можете запустить такое же преобразование в обратном направлении, и процесс будет в основном таким же, за исключением того, что вы используете список() команда на множестве, а не наоборот. Это означает, что вам нужен набор для начала, который вы можете легко определить, выбрав переменную, такую ​​как «big_set», и затем добавив содержимое, разделенное запятыми и в фигурных скобках. Вы могли бы написать big_set = {1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17} для определения набора целых чисел или любых других значений.

Чтобы преобразовать это в список, вы определяете переменную (скажем, "big_list") и используете список() команда, поэтому вы набираете что-то вроде big_list = список (большой_набор) а потом печать (большой_список) для отображения результата. Итак, полный код:

big_set = {1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17}

big_list = список (большой_набор)

печать (большой_список)

В этом случае список не присваивается, поэтому возвращается только список. Обратите внимание, что если вы преобразовываете список в набор, а затем обратно, вы теряете все повторяющиеся значения при первом преобразовании, и они не возвращаются.