Python如何在一行输入中分离获取列表与整数N值
解决思路与代码实现
可以通过以下两种方式拆分输入内容,分别提取列表和N的值:
方法一:字符串分割法
直接按固定标识, N = 拆分输入,再分别处理两部分:
# 获取整行输入并去除首尾空格 input_line = input().strip() # 拆分列表部分和N值部分 list_str, n_str = input_line.split(', N = ') # 处理列表部分:去除括号、清理空格后分割转整数 a = list(map(int, list_str.strip('[]').replace(' ', '').split(','))) # 处理N值:直接转整数 b = int(n_str)
这里的replace(' ', '')是为了避免数字间的空格干扰分割,确保4, 3这类带空格的项能被正确转为整数。
方法二:正则表达式法
如果输入格式固定,也可以用正则提取所有数字后分配变量:
import re # 提取输入中所有数字并转为整数列表 all_nums = list(map(int, re.findall(r'\d+', input()))) # 前n-1个数字组成目标列表a,最后一个数字是N的值b a = all_nums[:-1] b = all_nums[-1]
这种方法更简洁,适合输入格式稳定的场景。
内容的提问来源于stack exchange,提问作者seyed erfan
相关产品推荐
相关产品推荐

