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]