Python一行输入多个数并存入列表的两种方法
本文介绍在Python中如何在一行输入多个数字并存入列表。主要包含两种方法:一是使用split()分割字符串后通过索引遍历转换为int或float类型;二是结合map()与split()函数直接生成整型列表。文章提供了相关代码示例及注意事项,适用于Python3环境。
Python一行输入多个数并存入列表
在Python中,若仅使用input()函数,会将整行输入内容作为字符串存储到变量中。若尝试直接使用int(input())来接收多个数字,则无法实现,因为input()返回的是字符串类型,且包含空格分隔符。
注意:若使用Python2版本,上述方法可能会报错,建议升级至Python3。
相关介绍:Python中列表元素转为数字的方法
方法一

split()是字符串的一个内置方法,默认以空白符(如空格、制表符)为分隔符将字符串拆分为多个子字符串。若需以逗号等其他字符分隔,可在split()参数中指定,例如split(',')。
需要明确的是,input()接收的键盘输入始终为字符串类型。
因此,通过split()得到的列表元素仍为字符串。若后续需要进行数值运算,必须将其转换为int、float等数值类型。
在类型转换过程中,发现不能直接使用for i in lis遍历列表并修改元素值(因为字符串不可变且直接赋值不改变原列表),而需通过索引或下标方式逐一修改列表中的元素。
#作者:小狐狸
#输入
lis = list(input().split())
#显示类型
for i in lis:
print(type(i))
print()
print(lis)
print()
#列表元素转换为int类型
for i in range(len(lis)):
lis[i] = int(lis[i])
#显示类型
for i in lis:
print(type(i))
print()
print(lis)
方法二
此方法基于方法一,利用map()函数将split()分割后的字符串序列转换为整型序列,再通过list()函数将该序列转换为列表。

#作者:小狐狸
#输入
lis = list(map(int,input().split()))
#显示类型
for i in lis:
print(type(i))
print()
print(lis)
print()
使用input()同时输入多个数
组合使用map()、split()和input()函数,可以实现一行输入多个数值。
1. map()函数
map()函数接收两个参数:一个函数和一个序列。它将该函数依次应用于序列的每个元素,并返回包含结果的新列表(在Python3中为迭代器,通常需转为list)。
2. split()函数
用于拆分字符串。通过指定分隔符对字符串进行切片,返回分割后的字符串列表。
3. map(function, input().split())
input()输出的是以空格分隔的字符串,split()将其分割为列表,此时列表元素仍为字符串。若需用于数值运算,必须在map()中指定转换函数(如int()或float())进行处理,并将结果赋值。若仅需存储字符串,则无需使用map()。
示例代码如下
a,b =input('输入a,b空格隔开:').split()
#此时a,b为str型
a,b =map(int,input('输入a,b空格隔开:').split())
#此时a,b为int型以上为个人经验总结,希望能为大家提供参考,也希望大家多多支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













