Учитывая набор элементов 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
(los(lst))
Выход:
[{'sky'}, {'is'}, {'blue'}]
Способ 2: использование Python map() и лямбда-функции
Здесь мы использовали лямбда -функцию и функцию Python map(), чтобы создать новый набор для каждого элемента набора и создать из него список.
Python3
set1
=
{
1
,
9
,
8
,
6
,
5
}
los
=
list
(
map
(
lambda
x: {x}, set1))
(
"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]
(
"List of set:"
, los)
Выход:
List of set: [{1}, {5}, {6}, {8}, {9}]