Python如何实现让用户在同一行输入内容快速生成列表的功能
实现方案
完全可以实现,最简洁的常用写法如下:
myList = list(map(int, input().split()))
实现逻辑说明
input()会读取用户输入的一整行内容,返回字符串类型split()方法默认按任意空白字符(空格、多个连续空格、制表符等)分割字符串,返回由分割后的子字符串组成的列表map(int, 列表)会将列表中每个元素都转为int类型- 最后用
list()将map对象转为列表,就得到了你需要的数字列表
你也可以用列表推导式实现相同效果,写法更直观:
myList = [int(x) for x in input().split()]
适配固定长度输入的场景
如果你需要和原有逻辑一样严格限制输入n个元素,可以加切片控制:
n = 5 # 你提前初始化的数值 myList = list(map(int, input().split()))[:n]
如果需要对输入合法性做校验,避免用户输入非数字内容报错,可以加异常捕获逻辑:
n = 5 while True: try: input_list = input().split() myList = list(map(int, input_list))[:n] break except ValueError: print("输入包含非数字内容,请重新输入:")
运行示例:用户输入1 2 3 4 5后,打印myList会直接输出[1, 2, 3, 4, 5],完全符合需求。
内容的提问来源于stack exchange,提问作者ir6
相关产品推荐
相关产品推荐

