将频率table中出现次数最多的n个数输出为列表
Output the n most frequent numbers in a frequency table as a list
我设置了频率 table 来计算给定列表中的项目。
输入示例:list[1, 2, 1, 1, 0, 8, 8]
frequencyTable()
return是一个命令。列表中的项目及其出现次数。
printTable()
打印出 return。以我的例子来说,这将是……。喜欢:
1 : 3
8 : 2
2 : 1
0 : 1
最后(也是我卡住的地方)函数 mostFrequentValues()
应该输出列表中 returned 频率 table 的 n 个最频繁的数字。我的示例中 n = 2 的 return 应该是 [1, 8]。
我的版本 returns 元组,但我只需要一个值列表,没有其他任何东西。由于我是 Python 的新手,所以我还没有找到任何方法来过滤掉其余部分。
def frequencyTable(list):
freq_table = {}
for items in list:
freq_table[items] = list.count(items)
return freq_table
def printTable(freq_table):
for key, value in freq_table.items():
print(key, ' : ', value)
def mostFrequentValues(freq_table, n):
most_frequent = Counter(freq_table).most_common(n)
return most_frequent
您可以对 return 元组的第一个元素进行列表理解:
from collections import Counter
def mostFrequentValues(freq_table, n):
most_frequent = Counter(freq_table).most_common(n)
return [i[0] for i in most_frequent]
输出(n = 2):
[1, 8]
我设置了频率 table 来计算给定列表中的项目。 输入示例:list[1, 2, 1, 1, 0, 8, 8]
frequencyTable()
return是一个命令。列表中的项目及其出现次数。
printTable()
打印出 return。以我的例子来说,这将是……。喜欢:
1 : 3
8 : 2
2 : 1
0 : 1
最后(也是我卡住的地方)函数 mostFrequentValues()
应该输出列表中 returned 频率 table 的 n 个最频繁的数字。我的示例中 n = 2 的 return 应该是 [1, 8]。
我的版本 returns 元组,但我只需要一个值列表,没有其他任何东西。由于我是 Python 的新手,所以我还没有找到任何方法来过滤掉其余部分。
def frequencyTable(list):
freq_table = {}
for items in list:
freq_table[items] = list.count(items)
return freq_table
def printTable(freq_table):
for key, value in freq_table.items():
print(key, ' : ', value)
def mostFrequentValues(freq_table, n):
most_frequent = Counter(freq_table).most_common(n)
return most_frequent
您可以对 return 元组的第一个元素进行列表理解:
from collections import Counter
def mostFrequentValues(freq_table, n):
most_frequent = Counter(freq_table).most_common(n)
return [i[0] for i in most_frequent]
输出(n = 2):
[1, 8]