如何将一维列表转换为成对元素组成的二维列表?
将一维列表按每两个元素分组为二维列表
给定一维列表:
lst = [0, 15, 19, 26, 34, 62]
以下是几种实现分组的实用方法:
方法1:列表推导式+切片(最简洁)
利用Python切片特性,以步长2遍历列表索引,每次截取当前索引开始的2个元素:
result = [lst[i:i+2] for i in range(0, len(lst), 2)] print(result) # 输出: [[0, 15], [19, 26], [34, 62]]
方法2:zip函数配对
先通过切片把原列表拆分为奇数位和偶数位的两个子列表,再用zip打包成元组对,最后转成列表:
# 若接受元组结果,可直接用 list(zip(lst[::2], lst[1::2])) result = [list(pair) for pair in zip(lst[::2], lst[1::2])] print(result) # 输出: [[0, 15], [19, 26], [34, 62]]
方法3:手动循环分组(适合新手理解)
初始化空二维列表,通过循环每次取两个元素添加进去:
result = [] for i in range(0, len(lst), 2): result.append([lst[i], lst[i+1]]) print(result) # 输出: [[0, 15], [19, 26], [34, 62]]
注意:以上方法默认原列表长度为偶数,若长度为奇数,最后一组会只包含单个元素(比如原列表为[0,15,19],结果会是[[0,15], [19]]),可根据需求调整逻辑适配奇数长度场景。
内容的提问来源于stack exchange,提问作者Benjamin McDowell
相关产品推荐
相关产品推荐

