我有一個不同長度的列表數(shù)據(jù)集,其中包含 0-4 范圍內(nèi)的整數(shù),如下所示:a = [0, 1, 1, 2, 4, 3, 2]b = [1, 3, 2, 3, 2]c = [2, 4, 0, 4, 1, 3, 1, 4]d = ...我使用一個簡單的函數(shù)確定元素的頻率:def getFreq(group): freq = [0] * 5 for item in group: for i in range(5): if (item == i): freq[i] += 1 return freq我使用這樣的 for 循環(huán)運行所有列表:all_groups = [a, b, c]for group in all_groups: getFreq(group)如何自動存儲結(jié)果列表,以便以后可以進行進一步的操作/比較?根據(jù)評論,最好使用字典。如何在 for 循環(huán)中循環(huán)字典鍵,以便將函數(shù)的每個實例的結(jié)果保存到不同的鍵?
2 回答

jeck貓
TA貢獻1909條經(jīng)驗 獲得超7個贊
您可以像這樣解壓列表理解以獲取不同變量中的結(jié)果:
freq_a, freq_b, freq_c = [getFreq(group) for group in all_groups]

弒天下
TA貢獻1818條經(jīng)驗 獲得超8個贊
您可以使用:
freq_a, freq_b, freq_c = [getFreq(x) for x in [a, b, c]]
a另外,考慮到、b、 和中的項c都是整數(shù),您可以稍微優(yōu)化您的函數(shù):
def getFreq(group):
freq = [0] * 5
for item in group:
while item > (len(freq) - 1):
freq.append(0)
freq[item] += 1
return freq
這會立即為您的團隊帶來更多動態(tài)價值:-)
添加回答
舉報
0/150
提交
取消