猿问

如何将函数多次运行的结果存储在不同的变量中?

我有一个不同长度的列表数据集,其中包含 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 循环中循环字典键,以便将函数的每个实例的结果保存到不同的键?


白猪掌柜的
浏览 112回答 2
2回答

jeck猫

您可以像这样解压列表理解以获取不同变量中的结果:freq_a, freq_b, freq_c = [getFreq(group) for group in all_groups]

弑天下

您可以使用: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这会立即为您的团队带来更多动态价值:-)
随时随地看视频慕课网APP

相关分类

Python
我要回答