亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將函數多次運行的結果存儲在不同的變量中?

如何將函數多次運行的結果存儲在不同的變量中?

白豬掌柜的 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 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號