преобразование одного целого числа, введенного в список в Python - PullRequest
2 голосов
/ 20 января 2012

Я ищу однострочную команду в Python для преобразования целочисленного ввода в список. Ниже приводится ситуация.

mylist=[]
mylist=list(input('Enter the numbers: '))

Приведенная выше строка отлично работает, если в качестве входных данных я приведу более одного числа. Например, 1,2,3. Но это дает ошибку, когда я даю только одну цифру. Например: 1. Сказать, что это не может преобразовать целое число в список. Я не хочу запускать цикл, запрашивая пользователя для каждого ввода. Так что я хочу однострочную команду, которая будет работать для one или more цифр, введенных пользователем через запятую.

Благодарю вас, -indiajoe

Ответы [ 3 ]

3 голосов
/ 20 января 2012

Я думаю, что самое простое, что вы можете сделать, это:

mylist = map(int, raw_input('Enter the numbers: ').split(','))

Но это почти то же самое, что использовать понимание списка.

3 голосов
/ 20 января 2012

Вы должны использовать raw_input и преобразовать в int с пониманием списка:

user_input = raw_input('Enter the numbers: ')
my_list = [int(i) for i in user_input.split(',')]

Из официальной документации : raw_input читает строку из ввода, преобразует ее в строку (зачеркивая завершающую строку) и возвращает ее.

1 голос
/ 20 января 2012

input eval() это то, что вы печатаете. Итак, когда вы набираете 1,2,3, результатом будет tuple; когда вы набираете 1, результатом будет int. Попробуйте набрать 1, вместо 1. Обратите внимание, что ваша первая строка (mylist=[]) не нужна.

...