python - 比较列表整数值
问题描述
我一直在尝试将列表值与数组的列号进行比较,以便将具有相同列值的值保存在数组中。
prob_val = [[.01 .04 0.3 0.1 .5],
[.05 .02 0.1 0.7 .1],
[.04 .05 0.4 0.1 .6],
[.31 .03 0.2 0.1 .5],
[.18 .01 0.1 0.6 .1],....
[.12 .02 0.2 0.4 .2]]
predic_val = [[0],[0],[1],[0],[1],[2],[3],.....,[1],[2]]
values = [prob_val[predic_val==i][:,i] for i in range(5)]
我的意思是对于 predic_val == 0 的所有位置将采用 prob_val 中第 0 列的值。
但是当我运行代码时,我得到了一些错误:IndexError: boolean index did not match indexed array along dimension 1; 维度为 194,但对应的布尔维度为 1
尝试使用其他代码:
test = [[0,2,3,4,5],
[6,7,8,9,10],
[11,12,13,14,15],
[16,17,18,19,20],
[21,22,23,24,25]]
pree = [[0],
[7],
[0],
[0],
[0]]
vector = []
for i in range(5):
for l in range(len(pree)):
if pree[l] == i:
new = test[l][i]
vector.append(new)
print("l es:",l)
print("vector: ",vector)
print("pree[l]: ",pree[0])
但在这种情况下,if pree[l] == i:的行看起来不像是比较值,所以向量总是空的。
您是否有任何想法以第一种方式或第二种方式执行此操作?
解决方案
test = [[0,2,3,4,5],
[6,7,8,9,10],
[11,12,13,14,15],
[16,17,18,19,20],
[21,22,23,24,25]]
pree = [[0],
[7],
[0],
[0],
[0]]
vector = []
for i in range(5):
for l in range(len(pree)):
if pree[l][0] == i: # Correction was needed here
new = test[l][i]
vector.append(new)
print("l es:", l)
print("vector: ",vector)
print("pree[l]: ",pree[0])
推荐阅读
- php - 将我的个人电子邮件地址放在下面的 PHP 代码中的位置
- java - 未来
object 接受 String 的返回类型。如何? - angularjs - Angularjs $stateProvider 问题
- javascript - 酶模拟返回零节点
- swift - 使用正则表达式在字符串中查找多个引用的单词
- python - 使用子进程模块调用WINDOWS cmd.exe的问题:无法控制并行进程限制
- batch-file - FFmpeg - 检查文件夹是否包含具有 2 个不同扩展名的匹配文件名并忽略这两个文件。仅处理具有 1 个扩展名的文件名
- flutter - 如何使用带有 CupertinoPicker 小部件的通知侦听器?
- php - 使用 PHP CodeIgniter 对数组推送进行排队
- python - 想要使用 Selenium 抓取帖子?