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

如何从两个列表L1、L2创建指定格式的numpy数组

整数频率统计转3×3数组实现方案

原代码错误说明

  • 循环语法不符合Python规范,不存在for num in L1 and count in L2这种同时遍历两个列表的写法
  • 赋值逻辑a1[:num] = L2[:count]会直接截断覆盖数组,完全不符合按指定位置填充频率的需求

实现逻辑

  1. 先初始化长度为9的一维数组,默认值全为0,对应1~9每个整数的初始频率
  2. 配对遍历L1(作为索引的整数值)和L2(对应频率),将频率写入一维数组的对应位置:整数n对应数组下标为n-1,适配Python从0开始的索引规则
  3. 将长度为9的一维数组按每3个元素为一组拆分,拼接为3×3的二维数组即可得到目标结果

完整可运行代码

# 输入参数
L1 = [1,3,4,5,6,7,8,9]
L2 = [6,7,1,2,8,4,2,1]

# 初始化1-9对应频率数组,默认值为0
freq_list = [0] * 9

# 按指定位置填充频率
for num, count in zip(L1, L2):
    freq_list[num - 1] = count

# 拆分为3*3二维数组
A1 = [freq_list[i:i+3] for i in range(0, 9, 3)]

print(A1)
# 输出结果:[[6, 0, 7], [1, 2, 8], [4, 2, 1]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:18:03