Множества. Генераторы
Генераторы множеств, «frozenset»
Как записывается генератор множества?
Ответ: {выражение for переменная in последовательность}
Используя генератор множеств, дополните приведенный код так, чтобы получить множество, содержащее уникальные значения списка items. Результат вывести на одной строке, в упорядоченном виде, разделяя элементы одним символом пробела.
items = [10, '30', 30, 10, '56', 34, '12', 90, 89, 34, 45, '67', 12, 10, 90, 23, '45', 56, '56', 1, 5, '6', 5] s = {int(i) for i in items} print(*sorted(s))
Используя генератор множеств, дополните приведенный код так, чтобы получить множество, содержащее первую букву каждого слова (в нижнем регистре) списка words. Результат вывести на одной строке в алфавитном порядке, разделяя элементы одним символом пробела.
words = ['Plum', 'Grapefruit', 'apple', 'orange', 'pomegranate', 'Cranberry', 'lime', 'Lemon', 'grapes', 'persimmon', 'tangerine', 'Watermelon', 'currant', 'Almond'] gs = {i[0].lower() for i in words} print(*sorted(gs))
Используя генератор множеств, дополните приведенный код так, чтобы получить множество, содержащее уникальные слова (в нижнем регистре) строки sentence. Результат вывести на одной строке в алфавитном порядке, разделяя элементы одним символом пробела.
sentence = '''My very photogenic mother died in a freak accident (picnic, lightning) when I was three, and, save for a pocket of warmth in the darkest past, nothing of her subsists within the hollows and dells of memory, over which, if you can still stand my style (I am writing under observation), the sun of my infancy had set: surely, you all know those redolent remnants of day suspended, with the midges, about some hedge in bloom or suddenly entered and traversed by the rambler, at the bottom of a hill, in the summer dusk; a furry warmth, golden midges.''' s = sentence.lower().split() g = {word.strip(';:,.()') for word in s} print(*sorted(g))
Используя генератор множеств, дополните приведенный код так, чтобы получить множество, содержащее уникальные слова строки sentence длиною меньше 4 символов. Результат вывести на одной строке (в нижнем регистре) в алфавитном порядке, разделяя элементы одним символом пробела.
sentence = '''My very photogenic mother died in a freak accident (picnic, lightning) when I was three, and, save for a pocket of warmth in the darkest past, nothing of her subsists within the hollows and dells of memory, over which, if you can still stand my style (I am writing under observation), the sun of my infancy had set: surely, you all know those redolent remnants of day suspended, with the midges, about some hedge in bloom or suddenly entered and traversed by the rambler, at the bottom of a hill, in the summer dusk; a furry warmth, golden midges.''' words = {word.strip('.,:():;!?').lower() for word in sentence.split() if len(word.strip('.,:():;!?')) < 4}
print(*sorted(words))
Используя генератор множеств, дополните приведенный код так, чтобы он выбрал из списка files уникальные имена файлов c расширением .png, независимо от регистра имен и расширений. Имена файлов вывести вместе с расширением, все на одной строке, в нижнем регистре, в алфавитном порядке через пробел.
files = ['python.png', 'qwerty.py', 'stepik.png', 'beegeek.org', 'windows.pnp', 'pen.txt', 'phone.py', 'book.txT', 'board.pNg', 'keyBoard.jpg', 'Python.PNg', 'apple.jpeg', 'png.png', 'input.tXt', 'split.pop', 'solution.Py', 'stepik.org', 'kotlin.ko', 'github.git'] s = {c.lower() for c in files if c.lower().endswith('.png')} print(*sorted(s))
Может ли обычное множество (тип set) быть элементом другого множества?
Ответ: нет
Может ли замороженное множество (тип frozenset) быть элементом другого множества?
Ответ: да
Можно ли сравнивать обычное множество (тип set) и замороженное множество (тип frozenset)?
Ответ: да
Что выведет следующий код:
set1 = {1, 2, 3, 4, 5} set2 = frozenset(range(1, 6)) print(set1 == set2)
Ответ: True
Выберите методы, отсутствующие у замороженных множеств (тип frozenset).
Ответ: discard(); intersection_update(); add(); remove(); symmetric_difference_update(); update(); pop(); clear(); difference_update()
Какие элементы будут храниться в замороженном множестве set3 в результате выполнения следующего программного кода?:
set1 = frozenset('beegeek') set2 = frozenset('stepik') set3 = set1 | set2
Ответ: b; i; t; p; s; k; e; g
Какие элементы будут храниться в замороженном множестве set3 в результате выполнения следующего программного кода?:
set1 = frozenset('beegeek') set2 = frozenset('stepik') set3 = set1 & set2
Ответ: k; e