📜  Python|将数字流转换为列表

📅  最后修改于: 2022-05-13 01:54:23.207000             🧑  作者: Mango

Python|将数字流转换为列表

有时,我们可能会遇到一个问题,即给定一个空格分隔的数字流,目的是将它们转换为数字列表。这种类型的问题可能出现在普通的日间编程或竞争性编程中,同时接受输入。让我们讨论一些可以解决这个问题的方法。

方法 #1:使用list() + split()
空格分隔的数字可以通过使用简单的split函数转换为列表,该函数将字符串转换为数字列表,从而解决我们的问题。

# Python3 code to demonstrate working of
# Convert Stream of numbers to list
# Using list() + split()
  
# initializing string 
test_str = "10 12 3 54 6 777 443"
  
# printing original string 
print("The original string is : " + test_str)
  
# Using list() + split()
# Convert Stream of numbers to list
res = list(test_str.split())
  
# printing result 
print("The list of stream of numbers : " + str(res))
输出 :
The original string is : 10 12 3 54 6 777 443
The list of stream of numbers : ['10', '12', '3', '54', '6', '777', '443']

方法 #2:使用map() + split() + list()
由于上述方法的缺点是转换不会改变单元号的数据类型,所以如果想同时改变数字的数据类型,建议额外使用map()将字符串列表作为整数。

# Python3 code to demonstrate working of
# Convert Stream of numbers to list
# Using map() + split() + list()
  
# initializing string 
test_str = "10 12 3 54 6 777 443"
  
# printing original string 
print("The original string is : " + test_str)
  
# Using map() + split() + list()
# Convert Stream of numbers to list
res = list(map(int, test_str.split()))
  
# printing result 
print("The list of stream of numbers : " + str(res))
输出 :
The original string is : 10 12 3 54 6 777 443
The list of stream of numbers : [10, 12, 3, 54, 6, 777, 443]