【发布时间】:2016-07-14 20:53:05
【问题描述】:
Python 菜鸟在这里需要一些帮助。
我有一组格式为[['item', count], ........] 的数据,并且需要创建一个排序的直方图,该直方图每计算十次出现一个星号。
例子:
list=[['a', 22], ['b', 11], ['c', 45]]
直方图:
a **
b *
c ****
任何想法都会非常有帮助。
【问题讨论】:
Python 菜鸟在这里需要一些帮助。
我有一组格式为[['item', count], ........] 的数据,并且需要创建一个排序的直方图,该直方图每计算十次出现一个星号。
例子:
list=[['a', 22], ['b', 11], ['c', 45]]
直方图:
a **
b *
c ****
任何想法都会非常有帮助。
【问题讨论】:
data = [['a', 22], ['b', 11], ['c', 45]]
for item in data:
print(item[0] + ': ' + ('*' * (item[1] // 10)))
您可以使用* 运算符多次打印一个字符串。所以'*' * 5 产生*****。我会使用字典而不是列表:
data = {'a': 22, 'b':11, 'c':45}
for item in data:
print(item + ': ' + ('*' * (data[item] // 10)))
只是因为字典更适合你的目的。
【讨论】:
// 10 部分被截断,因此上面的代码确实每 10 个计数显示一个星号。 45 // 10 = 4(翻译 bes 忽略小数部分)。