Разбить набор на список наборов с помощью Python

Изучение Python Программирование и разработка

Учитывая набор элементов p, задача состоит в том, чтобы написать программу Python для преобразования всего набора в список наборов Python.

Пример:

Input : p = {‘sky’, ‘is’, ‘blue’}

Output : [{‘blue’}, {‘is’}, {‘sky’}]

Объяснение: Здесь каждый элемент набора преобразуется в отдельный набор.

Input : p = {10, 20, 30, 40}

Output : [{10}, {20}, {30}, {40}]

Метод 1: наивный подход

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

Python3

def los(l):
    res = []
     
    for i in l:
       
        # creating an empty set
        x = set()
        x.add(i)
        res.append(x)
         
    # returning final list of sets
    return(res)
 
 
# Driver code
lst = {'sky', 'is', 'blue'}
 
# Printing the final result
print(los(lst))

Выход:

[{'sky'}, {'is'}, {'blue'}]

Способ 2: использование Python map() и лямбда-функции

Здесь мы использовали лямбда -функцию и функцию Python map(), чтобы создать новый набор для каждого элемента набора и создать из него список.

Python3

set1 = {1, 9, 8, 6, 5}
 
los = list(map(lambda x: {x}, set1))
print("List of set:", los)

Выход:

List of set: [{1}, {5}, {6}, {8}, {9}]

Способ 3: использование понимания списка Python

Здесь мы используем понимание списка, и внутри блока понимания списка мы создаем новый набор. Таким образом, результатом обработки списка будет список множеств.

Python3

set1 = {1, 9, 8, 6, 5}
 
los = [{elem} for elem in set1]
print("List of set:", los)

Выход:

List of set: [{1}, {5}, {6}, {8}, {9}]

Читайте также:  Как удалить первый символ из строки Python?
Оцените статью
bestprogrammer.ru
Добавить комментарий

Adblock
detector