为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

白猪掌柜的 2024-01-15 21:37:53
我有一个不同长度的列表数据集,其中包含 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]


查看完整回答
反对 回复 2024-01-15
?
弑天下

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

这会立即为您的团队带来更多动态价值:-)


查看完整回答
反对 回复 2024-01-15
  • 2 回答
  • 0 关注
  • 111 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信