如何将整数列表与字符串列表合并为配对嵌套列表?
问题解决:两个列表按位置配对成嵌套列表
你的代码存在语法和逻辑问题,修正方案如下:
问题分析
- 参数名语法错误:Python中变量/参数名不能包含空格,
list 1这种写法会触发语法报错,需改为list1这类合法标识符。 - 逻辑不符合需求:你期望输出嵌套列表,但原代码用
a + b尝试相加元素,数字与字符串(或变量)无法直接相加,且这不是生成子列表的写法,应改为[a, b]来创建子列表。 - 未定义变量:调用函数前需先定义
list1和list2这两个输入列表变量。
修正后的代码
def merge(list1, list2): return [[a, b] for a, b in zip(list1, list2)] # 定义输入列表 list1 = [1, 3, 4, 6, 7] list2 = ['a', 'b', 'c', 'd', 'e'] # 若为字符串需加引号,若为变量需提前定义 print(merge(list1, list2))
输出结果
运行后会输出:
[[1, 'a'], [3, 'b'], [4, 'c'], [6, 'd'], [7, 'e']]
也可以用map函数实现相同效果,写法更简洁:
list1 = [1, 3, 4, 6, 7] list2 = ['a', 'b', 'c', 'd', 'e'] merged_list = list(map(lambda x, y: [x, y], list1, list2)) print(merged_list)
内容的提问来源于stack exchange,提问作者Steve
相关产品推荐
相关产品推荐

