Модуль 5.10 (Генераторы списков Python). Генераторы списков представляют собой очень мощный и удобный функционал, позволяющий создать список и сразу наполнить его определенными значениями. И главный плюс генератора списка в том, что он умещается всего лишь в одну строчку.
Генераторы списка строятся по следующему шаблону:
[выражение for переменная in последовательность]
Ниже представлены примеры задач с решением на тему Генераторы списков.
При помощи генератора-списка сохраните в переменной zeroes список из 100 нулей.
Выводить ничего не нужно, только правильно заполните список в переменной zeroes
zeroes = [*[0] * 100]
При помощи генератора-списка создайте список
[1, 2, 3, ..., n]
, само натуральное число n будет поступать на вход вашей программе.В качестве ответа просто выведите получившийся список
n = int(input());
data = [i for i in range(1, n+1)]
print(data)
На вход программе подается натуральное число n (n<=1000). При помощи list comprehension создайте список, состоящий из делителей введенного числа.
a = int(input())
a = [i for i in range(1,a+1) if a%i==0]
print(a)
При помощи list comprehension создайте список, состоящий из нечетных натуральных чисел в интервале [ nn; n^2n2 ] и вывести его на экран. Само число nn поступает на вход программе
n= int(input())
number_list = []
for i in range(n, n*n+1):
if i % 2 != 0:
number_list.append(i)
print(number_list)
Программа принимает на вход два целых числа a и b.
Если a<=b необходимо сформировать список квадратов целых чисел на интервале от а до b включительно и вывести его на экран.
Если же a>b, необходимо сформировать список кубов целых чисел на интервале от a до b включительно, двигаясь в порядке убывания, и затем вывести его.
Не забывайте пользоваться генератором списков
a,b = map(int,input().split())
print([i**2 if a<=b else i**3 for i in (range(a,b+1) if a<=b else range(a, b - 1, -1))])
Создайте список первых букв каждого слова из строки st и выведите его на экран
st = ‘Create a list of the first letters of every word in this string’
st = 'Create a list of the first letters of every word in this string'
st = [i[0] for i in st.split()]
print(st)
При помощи list comprehension создайте список, состоящий из первых n заглавных букв английского алфавита
['A', 'B', 'C', 'D', ...].
Получить все заглавные буквы английского алфавита можно следующим образом:from string import ascii_uppercase print(ascii_uppercase) # выведет строку ABCDEFGHIJKLMNOPQRSTUVWXYZ
from string import ascii_uppercase
n = int(input())
print([j[i] for i in range(n) for j in ascii_uppercase.split()])
Давайте усовершенствуем предыдущую задачу так, чтобы получался следующий список букв:
[‘A’, ‘BB’, ‘CCC’, ‘DDDD’, ‘EEEEE’, ‘FFFFFF’, …]
from string import ascii_uppercase
n = int(input())
print([ascii_uppercase[x - 1]*x for x in range(1, n + 1)])
При помощи генератора-списков создайте список, состоящий из слов, начинающихся с буквы ‘t’ или ‘T’. Слова возьмите из переменной phrase, также не забывайте про метод split()
В качестве ответа выведите полученный список, слова в нем должны стоять в том же порядке, в котором они стояли в изначальной фразе
phrase = 'Take only the words that start with t in this sentence'
a: list = [i for i in phrase.split() if i[0] == "T" or i[0] == "t"]
print(a)
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы
Просто не останавливайся.
Постараюсь продолжить в ближайшую неделю две.