You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python map()函数将输入数据拆分至独立列表

使用map()函数优化Python输入分组逻辑

问题说明

给定输入格式如下:第一行是整数Q,后续Q行每行包含两个整数L和R。需要将所有L值存入arrL列表,所有R值存入arrR列表。

输入示例

5
3 6
4 4
2 5
6 7
3 7

目标输出列表

arrL = [3,4,2,6,3]
arrR = [6,4,5,7,7]

原有实现(for循环)

目前使用for循环可以实现需求,代码如下:

arrL = []
arrR = []
Q = int(input())
for i in range(Q):
    l, r = map(int, input().split(' '))
    arrL.append(l) 
    arrR.append(r)
    
print(arrL)
print(arrR)

使用map()的优化实现

通过map()配合zip()可以更简洁高效地完成分组,代码如下:

Q = int(input())
# 批量处理所有输入行,将每行转换为整数元组
pairs = map(lambda line: tuple(map(int, line.split())), [input() for _ in range(Q)])
# 拆分元组序列为两个独立列表
arrL, arrR = map(list, zip(*pairs))

print(arrL)
print(arrR)

代码说明

  1. 先用列表推导式读取Q行输入,再通过map()对每行执行转换:将每行字符串按空格拆分后转成整数元组。
  2. 使用zip(*pairs)将所有元组的第一个元素、第二个元素分别聚合,再用map(list, ...)把聚合后的元组转成列表,直接得到arrL和arrR。
  3. 这种写法省去了显式的循环追加操作,代码更紧凑,在处理大量数据时性能表现更优。

内容的提问来源于stack exchange,提问作者MrNiver632

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 00:00:57