2013-04-12 7 views
6

Я начинаю в Python, и я решаю вопрос на CodeChef, где мне нужно прочитать строку целых чисел, разделенных пробелами. Это то, что я делаю:Чтение строки целых чисел в Python

def main(): 

    t=int(raw_input()) #reading test-cases 

    while t!=0: 
    n, k=raw_input().split() #reading a line of two space separated integers 
    n, r=int(n), int(r) #converting them into int 
    list=[] 
    #reading a line of space separated integers and putting them into a list 
    list[-1:101]=raw_input().split() 

Теперь я преобразую каждый элемент в список в целое. Есть ли лучший способ сделать это? Пожалуйста, предлагайте онлайн-ресурс, где я могу играть с Python и узнавать советы и трюки!

+0

какова цель т? – jurgenreza

+0

и почему вы читаете два целых числа и что вы пытаетесь сделать с '[-1: 101]' slice? – jurgenreza

+0

чтение двух целых чисел является частью решения, не обращайте на это внимания. Переходя к slice, так как я должен прочитать строку пробелов, разделенных целыми числами, и поместить их в список, я использую list [-1: 101]. Не будет более 100 номеров. Таким образом, используя этот и split(), все числа (в форме строки) сохраняются в списке. – kunal18

ответ

20

В Python 2, вы могли бы написать:

numbers = map(int, raw_input().split()) 

Это читает строку, разбивает ее на белых пространствах, и применяет int() к каждому элементу результата.

Если вы используете Python 3, эквивалентное выражение будет:

numbers = list(map(int, input().split())) 

или

numbers = [int(n) for n in input().split()] 
0

map(int, list) должен решить вашу проблему

+0

Вы также можете попробовать [int (i) для i в списке] –

Смежные вопросы