Перейти к содержимому

Map int input split python 3 что это

  • автор:

Ввод данных на Python

Возникла проблема с вводом данных, до этого не работал на сайте и при вводе мне не понятно как это делать. Вместо стандартного int(input()) я встретил ввод map(int, input().split()) . Объясните пожалуйста.

Отслеживать
48.6k 17 17 золотых знаков 56 56 серебряных знаков 100 100 бронзовых знаков
задан 6 мар 2019 в 17:52
23 1 1 золотой знак 1 1 серебряный знак 3 3 бронзовых знака

Что именно непонятно? input() возвращает строку, split() делит строку по пробелам и выдаёт список, map вызывает указанную функцию для каждого элемента указанного списка и возвращает новый список (точнее итератор). Про всё это вы легко можете прочитать в любой документации и в любом учебнике по Python

6 мар 2019 в 18:00

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

map(int, input().split()) можно использовать в случае, если вводится несколько чисел через разделитель (в данном случае через пробел)

  • input() возвращает строку (например: «1 2 3» )
  • split() преобразует строку в list по разделителю — по умолчанию это пробел (результат: [«1», «2» ,»3″] )
  • map преобразует список в соответствие с функцией — в данном случае int(elem) (результат: [1, 2 , 3]

В результате выполнения кода получится объект map , который хорошо бы еще было обернуть в list ( list(map(. ))

Отслеживать
ответ дан 6 мар 2019 в 18:31
ChocolateSwan ChocolateSwan
814 5 5 серебряных знаков 8 8 бронзовых знаков

Можно еще добавить что list(map(int, input().split())) тоже самое что [int(i) for i in input().split()] . А еще, split без параметров делит не просто по пробелам, а по их множеству: ‘1 2 3’.split() -> [‘1’, ‘2’, ‘3’] , а вот строго по пробелу: ‘1 2 3’.split(» «) -> [‘1’, », », ‘2’, ‘3’] . И еще, просто map удобно использовать если известно количество элементов, например если их 3: a, b, c = map(int, input().split()) , но при желании можно обработать и сколько угодно: a, *b = map(int, input().split()) — первое числор попадет в a , а все остальные как список в b

6 мар 2019 в 18:44
Спасибо, большое
6 мар 2019 в 19:05

Highly active question. Earn 10 reputation (not counting the association bonus) in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.

  • python
  • python-3.x

Map int input split python 3 что это

Скачай курс
в приложении

Перейти в приложение
Открыть мобильную версию сайта

© 2013 — 2023. Stepik

Наши условия использования и конфиденциальности

Get it on Google Play

Public user contributions licensed under cc-wiki license with attribution required

Массивы

Большинство программ работает не с отдельными переменными, а с набором переменных. Например, программа может обрабатывать информацию об учащихся класса, считывая список учащихся с клавиатуры или из файла, при этом изменение количества учащихся в классе не должно требовать модификации исходного кода программы.

Раньше мы сталкивались с задачей обработки элементов последовательности, например, вычисляя наибольший элемент последовательности. Но при этом мы не сохраняли всю последовательность в памяти компьютера, однако, во многих задачах нужно именно сохранять всю последовательность, например, если бы нам требовалось вывести все элементы последовательности в возрастающем порядке (“отсортировать последовательность”).

Для хранения таких данных можно использовать структуру данных, называемую в Питоне список (в большинстве же языков программирования используется другой термин “массив”). Список представляет собой последовательность элементов, пронумерованных от 0, как символы в строке. Список можно задать перечислением элементов списка в квадратных скобках, например, список можно задать так:

Primes = [2, 3, 5, 7, 11, 13]
Rainbow = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Violet']

В списке Primes — 6 элементов, а именно, Primes[0] == 2, Primes[1] == 3, Primes[2] == 5, Primes[3] == 7, Primes[4] == 11, Primes[5] == 13. Список Rainbow состоит из 7 элементов, каждый из которых является строкой.

Также как и символы строки, элементы списка можно индексировать отрицательными числами с конца, например, Primes[-1] == 13, Primes[-6] == 2.

Длину списка, то есть количество элементов в нем, можно узнать при помощи функции len, например, len(A) == 6.

Рассмотрим несколько способов создания и считывания списков. Прежде всего можно создать пустой список (не содержащий элементов, длины 0), в конец списка можно добавлять элементы при помощи метода append. Например, если программа получает на вход количество элементов в списке n, а потом n элементов списка по одному в отдельной строке, то организовать считывание списка можно так:

A = []
for i in range(int(input()):
A.append(int(input())

В этом примере создается пустой список, далее считывается количество элементов в списке, затем по одному считываются элементы списка и добавляются в его конец.

Для списков целиком определены следующие операции: конкатенация списков (добавление одного списка в конец другого) и повторение списков (умножение списка на число). Например:

A = [1, 2, 3]
B = [4, 5]
C = A + B
D = B * 3

В результате список C будет равен [1, 2, 3, 4, 5], а список D будет равен [4, 5, 4, 5, 4, 5]. Это позволяет по-другому организовать процесс считывания списков: сначала считать размер списка и создать список из нужного числа элементов, затем организовать цикл по переменной i начиная с числа 0 и внутри цикла считывается i-й элемент списка:

A = [0] * int(input())
for i in range(len(A)):
A[i] = int(input())

Вывести элементы списка A можно одной инструкцией print(A), при этом будут выведены квадратные скобки вокруг элементов списка и запятые между элементами списка. Такой вывод неудобен, чаще требуется просто вывести все элементы списка в одну строку или по одному элементу в строке. Приведем два примера, также отличающиеся организацией цикла:

for i in range(len(A)): 
print(A[i])

Здесь в цикле меняется индекс элемента i, затем выводится элемент списка с индексом i.

for elem in A: 
print(elem, end = ' ')

В этом примере элементы списка выводятся в одну строку, разделенные пробелом, при этом в цикле меняется не индекс элемента списка, а само значение переменной (например, в цикле for elem in [‘red’, ‘green’, ‘blue’] переменная elem будет последовательно принимать значения ‘red’, ‘green’, ‘blue’.

Программирование в «Эврике»

Python (читается как «Пайтон» а не «питон») — скриптовый язык, разработанный Гвидо ван Россумом в качестве простого языка, легкого в изучении новичку.

В наше время Пайтон – широко распространыенынй язык, который используется во многих областях:
— Разработка прикладного ПО;
— Разработка web-приложений (мощнейший Application-сервер Zope и разработанная на его основе CMS Plone, на основе которой работает например сайт ЦРУ, и масса фреймворков для быстрой разработки приложений Plones, Django, TurboGears и многие другие);
— Использование в качестве встраиваемого скриптового языка во многих играх, и не только (в офисном пакете OpenOffice.org, 3d редакторе Blender, СУБД Postgre);
— Использование в научных рассчетах (с пакетами SciPy и numPy для расчетов и PyPlot для рисования графиков Python становится практически сравним с пакетами типа MatLab).

И это конечно далеко не полный список проектов, использующих этот замечательный язык.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *