【发布时间】:2017-07-25 15:42:08
【问题描述】:
我有一个函数,它当前需要一个列表并创建一个表格,计算每个项目在列表中出现的次数。当我使用单个字符项运行它时,频率列以一个很好的偶数行返回。但是当项目超过一个字符时,频率就会全部偏离对齐。如何在 Python 中解决此问题?
这是一张带有这两个示例的结果的图片(因为我不知道如何制作表格......):
freqTable([1, 2, 3, 3, 1, 4, 5])
和
freqTable(['CIS', 'CIS', 'CIS', 'J', 'Psy', 'Psy'])
如何修复对齐方式?
编辑:它由 3 个函数组成
def drawTable(freqD):
iteml = list(freqD.keys())
iteml.sort()
title = 'ITEM' + (' '*2) + 'FREQUENCY'
print(title)
for item in iteml:
print(item, ' '*3, freqD[item])
return None
def genFreqTable(alist):
freqD = {}
for item in alist:
if item in freqD:
freqD[item] += 1
else:
freqD[item] = 1
return freqD
def freqTable(alist):
freqD = genFreqTable(alist)
drawTable(freqD)
return None
这里是测试用例 频率表([1, 2, 3, 4]) freqTable(['CIS', 'CIS', 'CIS', 'J', 'Psy', 'Psy'
【问题讨论】:
-
你的功能在哪里?它看起来怎么样?
-
什么是
freqTable?请出示您的代码。请粘贴文本,而不是图像。这样我们就可以复制文本并自己尝试。 -
做...忘记添加了。立即编辑
-
顺便说一下,
1, 2, 3, 3, 1, 4, 5不是单个字符,它们是整数对象。 -
添加了测试用例的代码和文本