Python一行输入多个数并存入列表的两种方法

Elena
Elena
发布时间:2026-10-15 | 4人浏览过
原创

本文介绍在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型

以上为个人经验总结,希望能为大家提供参考,也希望大家多多支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表