我正在使用raw_input
让用户输入一个整数,例如'123456'
。
如何按字母数字转换字符串编号,以便将其放入列表中:[1,2,3,4,5]
?
12
,34
,56
等两个数字的概念是否相同?
答案 0 :(得分:0)
如果您想将从raw_input
读入的字符串转换为int
的列表...
number = raw_input("Number? ")
li = [int(i) for i in number]
为了将它扩展到多位数,你需要做的工作还要多一点,但我把它作为读者的练习。
答案 1 :(得分:0)
如果用户连续输入数字,您可以使用以下列表理解:
>>> num=raw_input ("enter the numbers : ")
enter the numbers : 123459
>>> l=[int(i) for i in num]
>>> l
[1, 2, 3, 4, 5, 9]
对于使用,
作为分隔符的len 2的数字,您需要拆分输入字符串,然后将其转换为int:
>>> num=raw_input ("enter the numbers : ")
enter the numbers : 12,34,56
>>> l=[int(i) for i in num.split(',')]
>>> l
[12, 34, 56]
但还有另外一种方法,如果您不想转换数字,可以将raw_input
函数放入循环中:
>>> l=[]
>>> for i in range (5):
... l.append(int(raw_input('enter %dth number :'%i)))
...
enter 0th number :1
enter 1th number :5
enter 2th number :12
enter 3th number :56
enter 4th number :2345
>>> l
[1, 5, 12, 56, 2345]
如果你想从一个输入中获得len 2的数字,你可以使用切片:
>>> num=raw_input ("enter the numbers : ")
enter the numbers : 1234424
>>> [int(num[i:i+2]) for i in range(0,len(num),2)]
[12, 34, 42, 4]
答案 2 :(得分:0)
s = '123456'
print(map(int,s))
s = '12,34,56'
print(map(int,s.split(",")))
[1, 2, 3, 4, 5, 6]
[12, 34, 56]
s = '123456'
print([int("".join(tup)) for tup in zip(s[::2],s[1::2])]
[12, 34, 56]