【发布时间】:2018-11-05 01:25:25
【问题描述】:
我正在检查不同类别的一些平均值
cat_1 = []
for i, j, k in zip(is, js, ks):
if i == 1:
cat_1.append(i)
avg_cat_1 = stats.mean(cat_1)
print("Avg for cat_1:", avg_cat_1)
如果我想包含多个类别,我想避免为每个新类别写一个新行。
对于列表的初始化,我可以这样做:
for i in range(nr of categories):
a = "cat_%s" % (i)
print (a)
但是那当然只会打印我一行并且不执行一个并且对于 if 语句来说更加复杂。
我想知道是否有办法只做这样的循环:
for i in range(nr of categories):
cat_i = []
或
for i in range(nr of categories):
cat_%s = [] %(i)
“i”不是作为变量字符串的一部分而是作为临时循环变量被识别,并且只生成可执行代码行而不仅仅是打印输出
【问题讨论】:
-
您的意见是什么?输出?期望的输出?
-
为什么在第一个示例中忽略 2/3 的循环变量?
-
为什么不直接使用数组?
-
循环如何初始化列表?
-
什么是
stats?请提供一个最小的示例,我可以直接将其粘贴到我的解释器中并运行,而无需提供外部输入。
标签: python