Модуль 5.8 Генераторы списков (List comprehension).
Генераторы списков (List comprehension)
list_number = [abs(float(num)) for num in input().split()] # Получаем данные из потока и сохраняем их в переменную перменную # преобразуем в тип float и сохраняем в списке print(list_number)
Вводится семизначное целое положительное число. С помощью list comprehension сформировать список lst, содержащий цифры этого числа (в списке должны быть записаны числа, а не строки). Результат вывести на экран список командой:
print(lst)
n = abs(int(input())) # n <- целое положительное число # строковое представление числа в качестве итерируемого объекта... print([int(x) for x in str(n)])
Вводится натуральное число N. С помощью list comprehension сформировать двумерный список размером N x N, состоящий из нулей, а по главной диагонали — единицы. (Главная диагональ — это элементы, идущие по диагонали от верхнего левого угла матрицы до ее нижнего правого угла). Результат вывести в виде таблицы чисел как показано в примере ниже.
# put your python code here size_matrix = int(input()) # Пользовательский ввод matrix = [(1 if x == i else 0) for i in range(0, size_matrix) for x in range(0, size_matrix)] # Если x равна i тогда # печатаем 1 иначе 0, дальне циклом заполняем все необходимыми цифрами до заданого пользвателем размера count = 1 # Создаю счетчик for i in matrix: # Прохожу по полученному списку if count % size_matrix == 0: # Если остаток от деления равен 0 print(i) # тогда вывожу число без пробела и с переносом на новую строку else: print(i, end=" ") # Иначе вывожу с пробелом и оставляю на этой строке count += 1 # Увеличиваю счетчик на 1 # Более правильное решение # print("----------------------------------------------------------------------------------") # matrix_2 = [[1 if x == i else 0 for i in range(size_matrix)] for x in range(size_matrix)] # for i in matrix_2: # print(*i)
Вводятся названия городов в строку через пробел. Необходимо сформировать список с помощью list comprehension, содержащий названия длиной более пяти символов. Результат вывести в строчку через пробел.
cites = input().split() # Пользовательский ввод cites_5_symbols = [city for city in cites if len(city) > 5] # Сохраняем значение в список если его значение больше 5 символов print(*cites_5_symbols)
cites = input().split() # Пользовательский ввод
cites_5_symbols = [city for city in cites if len(city) > 5] # Сохраняем значение в список если его значение больше 5 символов
print(*cites_5_symbols)
user_number = int(input()) # Пользовательский ввод list_number = [num for num in range(1, user_number+1) if user_number % num == 0] # Сохраняем значение в список если # Остаток от его деления равен 0 print(*list_number)
Вводится натуральное число N. Необходимо сгенерировать вложенный список с помощью list comprehension, размером N x N, где первая строка содержала бы все нули, вторая — все единицы, третья — все двойки и так до N-й строки. Результат вывести в виде таблицы чисел как показано в примере ниже.
# Более правильное решение size_matrix = int(input()) # Пользовательский ввод matrix_2 = [[x for i in range(size_matrix)] for x in range(size_matrix)] # Создаем вложенные список и в нем сохраняем # значение переменой x внешнего списка for i in matrix_2: print(*i)
Вводится список вещественных чисел. С помощью list comprehension сформировать список, состоящий из элементов введенного списка, имеющих четные индексы (то есть, выбрать все элементы с четными индексами). Результат вывести на экран в одну строку через пробел.
num_list = input().split() # Пользовательский ввод num_index = [num_list[num] for num in range(0, len(num_list)) if float(num) % 2 == 0] # Выбираю элементы по индексу # если он идут под четными индексами в списке print(*num_index)
Вводятся два списка целых чисел одинаковой длины каждый с новой строки. С помощью list comprehension сформировать третий список, состоящий из суммы соответствующих пар чисел введенных списков. Результат вывести на экран в одну строку через пробел.
a, b = [map(int, input().split()) for _ in '12'] # два map-объекта print(*map(sum, zip(a,b))) # применяем sum к кажному tuple, который вернул zip
Вводится список в формате:
<город 1> <численность населения 1> <город 2> <численность населения 2> … <город N> <численность населения N>
Необходимо с помощью list comprehension сформировать список lst, содержащий вложенные списки из пар:
<город> <численность населения>
Численность населения — целое число в тыс. человек. Вывести результат на экран в виде списка командой:
print(lst)
inp = input().split() inp[1::2] = map(int, inp[1::2]) # превратили в int только числа lst = list(map(list, zip(*[iter(inp)]*2))) # кластеризация и map, превращающий tuple в list print(lst)
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы