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

如何在Python中基于两个列表调用自定义方法创建二维矩阵?

用两个列表生成自定义填充的二维矩阵

这问题我太熟悉了!以Python为例,最简洁高效的方式是用嵌套列表推导式,当然也可以用基础循环来实现(适合新手理解)。我给你详细演示:

步骤1:定义你的自定义方法

首先得先写好你的my_method,这里我用一个简单的字符串拼接示例,你可以替换成自己的业务逻辑:

def my_method(char, num):
    # 这里换成你实际需要的处理逻辑
    return f"{char}{num}"

步骤2:准备输入列表

把你的两个列表定义好:

list_chars = ['A', 'B', 'C']
list_nums = [1, 2, 3]

步骤3:生成二维矩阵

方法一:嵌套列表推导式(推荐)

一行代码就能搞定,逻辑清晰且执行高效:

matrix = [[my_method(char, num) for num in list_nums] for char in list_chars]

这个推导式的逻辑很直观:

  • 外层for char in list_chars:遍历第一个列表的元素,对应矩阵的每一行
  • 内层for num in list_nums:遍历第二个列表的元素,对应每一行里的每个单元格
  • 每个单元格的值就是my_method(char, num)的返回结果

方法二:基础嵌套循环(适合新手理解)

如果觉得推导式有点抽象,用普通循环也能达到同样效果:

matrix = []
# 遍历第一个列表,生成每一行
for char in list_chars:
    current_row = []
    # 遍历第二个列表,填充当前行的每个元素
    for num in list_nums:
        current_row.append(my_method(char, num))
    matrix.append(current_row)

验证结果

运行代码后,打印矩阵就能看到预期的结果:

print(matrix)
# 输出:[['A1', 'A2', 'A3'], ['B1', 'B2', 'B3'], ['C1', 'C2', 'C3']]

本质上就是遍历两个列表的笛卡尔积,把每个元素组合传入自定义方法,再按行结构组织成二维数组~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:34:45