我有一个不同长度的列表数据集,其中包含 0-4 范围内的整数,如下所示:a = [0, 1, 1, 2, 4, 3, 2]b = [1, 3, 2, 3, 2]c = [2, 4, 0, 4, 1, 3, 1, 4]d = ...我使用一个简单的函数确定元素的频率:def getFreq(group): freq = [0] * 5 for item in group: for i in range(5): if (item == i): freq[i] += 1 return freq我使用这样的 for 循环运行所有列表:all_groups = [a, b, c]for group in all_groups: getFreq(group)如何自动存储结果列表,以便以后可以进行进一步的操作/比较?根据评论,最好使用字典。如何在 for 循环中循环字典键,以便将函数的每个实例的结果保存到不同的键?
2 回答
jeck猫
TA贡献1909条经验 获得超7个赞
您可以像这样解压列表理解以获取不同变量中的结果:
freq_a, freq_b, freq_c = [getFreq(group) for group in all_groups]
弑天下
TA贡献1818条经验 获得超8个赞
您可以使用:
freq_a, freq_b, freq_c = [getFreq(x) for x in [a, b, c]]
a另外,考虑到、b、 和中的项c都是整数,您可以稍微优化您的函数:
def getFreq(group):
freq = [0] * 5
for item in group:
while item > (len(freq) - 1):
freq.append(0)
freq[item] += 1
return freq
这会立即为您的团队带来更多动态价值:-)
添加回答
举报
0/150
提交
取消