我正在尝试使用嵌套的 for 循环逐步浏览对每个列表的每个元素进行操作的列表列表。我收到来自 PyCharm 的警告,即第二个 for 循环中的计数器类型不一定是整数,尽管它是从范围值派生的。代码正确执行,为什么会出现警告?
def get_vote_fraction(cl_count, ag_vector):
v_f_vector = [[0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0, 0]]
for b in range(0, len(v_f_vector)):
for c in range(0, len(v_f_vector[b])):
v_f_vector[b][c] = f"{(ag_vector[b][c] / cl_count): .2F}"
return v_f_vector
aggregated_vector = [[0, 8, 0, 6], [0, 1, 0, 0, 0, 0, 9, 0], [0, 0, 10, 0], [0, 10, 0, 0, 0]]
class_count = 10
vote_fraction = get_vote_fraction(class_count, aggregated_vector)
print(vote_fraction)
正如预期的那样,输出是 [[' 0.00', ' 0.80', ' 0.00', ' 0.60'], [' 0.00', ' 0.10', ' 0.00', ' 0.00', ' 0.00', ' 0.00', '0.00' 0.90'、'0.00']、['0.00'、'0.00'、'1.00'、'0.00']、['0.00'、'1.00'、'0.00'、'0.00'、']0.00
我收到一条警告,即 v_f_vector[b][c] 中的 c 可能是意外类型 (int, str),这表示 c 没有充分定义为整数。我犹豫要不要向 PyCharm 提出问题,因为我可能遗漏了一些简单的东西。有人看到我缺少什么吗?
江户川乱折腾
慕标5832272
红颜莎娜
相关分类