将整数添加到列表中,同时将用空格分隔的数字字符串转换为整数



我目前正在尝试附加整数和字符串,我正在尝试将它们转换为整数,因为它们只能是用空格分隔的数字。我当前的代码:

def check(x):
if type(x) == str:
x = x.split()
return x
else:
return x
Data = []
while True:
try:
numbers = input()
if numbers !='':
added = check(numbers)
Data.append(added)
else:
print(Data)
break
except EOFError as error:
print(Data)
break

但这并不能完全满足我的需要。例如的输入

1
22
1 2 3

给我的输出

[['1'], ['22'], ['2', '3', '4']]

而我希望的输出

[['1'], ['22'], ['2'], ['3'], ['4']]

更换

Data.append(added)

带有

for d in added:
Data.append([d])

然后

1
22
2 3 4
[['1'], ['22'], ['2'], ['3'], ['4']]

上面的代码很好,但这段代码也可以帮助您完成任务

Data = []
while True:
try:
numbers = list(map(int,input().split()))
if len(numbers)==0:
print(Data)
break
else:
Data.append(numbers)
except:
print(Data)

这也是当我们给出输入时

2
22
1 2 3 4

当你不给任何东西作为输入时,比如简单的回车会打破无限循环,然后给你下面的输出!。我觉得这个功能真的太多余了!。输出为

[[2],[22],[1,2,3,4]]

希望这能有所帮助!快乐学习:(

最新更新