John Constantine
John Constantine

Reputation: 1092

Python: Input as list?

I am getting input in the form of:

4 11111

I am using a,b = map(int,raw_input().split()) to store 4 in a and 11111 in b. But I want b to be a list, how am I supposed to do that ?

Upvotes: 2

Views: 338

Answers (3)

ratherlargeguy
ratherlargeguy

Reputation: 41

a, b = map(int, raw_input().strip().split())

char list:

l = list(str(b))

int list:

l = [int(i) for i in str(b)]

Upvotes: 3

Kasravnd
Kasravnd

Reputation: 107287

You can just use list :

>>> list('11111')
['1', '1', '1', '1', '1']

But in that case you can not use map function because it just apply one function on its iterable argument and in your code it convert the whole of '11111' to integer so you have tow way :

  1. create b as a list of string ones :
inp=raw_input().split()
a,b = int(inp[0]),list(inp[1])
  1. if you want a list of integer 1's use map :
>>> map(int,'11111')
[1, 1, 1, 1, 1]

Upvotes: 4

Christophe
Christophe

Reputation: 2012

You can try this in two steps:

a, b = raw_input().split()
a, b = int(a), map(int, b)
print a
print b

Returns: 4 and [1, 1, 1, 1, 1]

Upvotes: 3

Related Questions