Модуль 9.5 Функция zip.
Вводятся два списка целых чисел. Необходимо попарно перебрать их элементы и перемножить между собой. При реализации программы используйте функции zip и map. Выведите на экран первые три значения, используя функцию next. Значения выводятся в строчку через пробел. (Полагается, что три выходных значения всегда будут присутствовать).
# Вводим два списка целых чисел и преобразуем каждый из них в список int lst1 = list(map(int, input().split())) lst2 = list(map(int, input().split())) # Создаем zip-объект, который попарно объединяет элементы двух списков zipped_lst = zip(lst1, lst2) # Создаем map-объект, который перемножает каждую пару элементов, полученных из zipped_lst multiplied_lst = map(lambda x: x[0] * x[1], zipped_lst) # Выводим первые три перемноженных значения, используя функцию next print(next(multiplied_lst), next(multiplied_lst), next(multiplied_lst))
Вводится неравномерная таблица целых чисел. С помощью функции zip выровнить эту таблицу, приведя ее к прямоугольному виду, отбросив выходящие элементы. Вывести результат на экран в виде такой же таблицы чисел.
P. S. Для считывания списка целиком в программе уже записаны начальные строчки.
import sys # Считываем список из входного потока и удаляем пробельные символы в начале и конце каждой строки lst_in = list(map(str.strip, sys.stdin.readlines())) # Используем функцию zip, чтобы попарно объединить элементы всех строк в список кортежей # Затем используем функцию zip еще раз, чтобы транспонировать этот список кортежей # В итоге получаем список кортежей, в каждом из которых находится один символ из каждой строки z = zip(*zip(*lst_in)) # Для каждого кортежа в списке выводим его элементы, объединив их в строку for i in z: print(''.join(list(i)))
Вводится таблица целых чисел. Необходимо сначала эту таблицу представить двумерным списком чисел, а затем, с помощью функции zip выполнить транспонирование этой таблицы (то есть, строки заменить на соответствующие столбцы). Результат вывести на экран в виде таблицы чисел (числа в строках следуют через пробел).
P. S. Для считывания списка целиком в программе уже записаны начальные строчки.
import sys # Считывание списка из входного потока lst_in = list(map(str.strip, sys.stdin.readlines())) # Создание двумерного списка table = [] for line in lst_in: row = list(map(int, line.split())) table.append(row) # Транспонирование таблицы transposed = list(map(list, zip(*table))) # Вывод таблицы for row in transposed: print(' '.join(map(str, row)))
Вводится строка из слов, записанных через пробел. Необходимо на их основе составить прямоугольную таблицу из трех столбцов и N строк (число строк столько, сколько получится). Лишнее (выходящее) слово — отбросить. Реализовать эту программу с использованием функции zip. Результат отобразить на экране в виде прямоугольной таблицы из слов, записанных через пробел (в каждой строчке).
# Считывание строки из входного потока input_string = input().strip() # Разделение строки на слова и отбрасывание лишнего слова words = input_string.split()[:-1] # Вычисление числа строк в таблице num_rows = (len(words) + 2) // 3 # Создание трех столбцов таблицы с помощью функции zip columns = [words[i::num_rows] for i in range(num_rows)] # Вывод таблицы на экран в виде строк, разделенных пробелами for row in zip(*columns): print(' '.join(row))
Вводится строка. Требуется, используя введенную строку, сформировать N=10 пар кортежей в формате:
(символ, порядковый индекс)
Первый индекс имеет значение 0. Строка может быть короче 10 символов, а может быть и длиннее. То есть, число пар может быть 10 и менее. Используя функцию zip сформируйте указанные кортежи и сохраните в список с именем lst.
Программа ничего не должна отображать на экране, только формировать список из кортежей.
# Считываем строку из входного потока s = input() # Создаем список из кортежей, используя функцию zip и генератор списков lst = list(zip(s, range(10)))
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы
Решение с городами.
cities = input().split()
tmp = len(cities) // 3
def xxx(lst: list):
for j in lst:
yield j
gen = xxx(cities)
for i in range(3):
print(*(next(gen) for _ in range(tmp)))