可以說我有列表myList = [1, 1, 2, 2, 2, 3]
我想統計列表中每個數字的頻率並將其變爲某種圖形與輸出:Python統計列表中每個數字的頻率,沒有任何count()函數或者沒有導入任何內容
1: X X
2: X X X
3: X
但我不明白。我很新的Python和我需要做沒有任何內置的功能和代碼,而無需使用進口導入任何
可以說我有列表myList = [1, 1, 2, 2, 2, 3]
我想統計列表中每個數字的頻率並將其變爲某種圖形與輸出:Python統計列表中每個數字的頻率,沒有任何count()函數或者沒有導入任何內容
1: X X
2: X X X
3: X
但我不明白。我很新的Python和我需要做沒有任何內置的功能和代碼,而無需使用進口導入任何
一個dict
爲基礎的解決方案:
myList = [1, 1, 2, 2, 2, 3]
output = {}
for item in myList:
if item not in output:
output[item] = 0
output[item] += 1
然後打印:
for number, count in output.iteritems():
print "{0}: {1}".format(number, "X " * count)
即時得到這個錯誤:對於數量,在output.iteritems()計數: AttributeError:'字典'對象沒有屬性'iteritems' – Aroch925 2015-03-31 00:57:20
@ AlexRochford你在使用Python 3.用'items'替換'iteritems'。原因:在python2中,'items'返回一個列表,'iteritems'返回一個迭代器。在python3中,'items'返回一個迭代器並且'iteritems'不存在。 – Kroltan 2015-03-31 00:59:12
好吧,我改變了它,但它只打印出一個元素。所以myList = [5,5,5,6,6],它只打印5:X X X – Aroch925 2015-03-31 02:15:07
沒有內置功能? – 2015-03-31 00:26:16
你有沒有試過?你有一個想法,你會怎麼做?或者你會嘗試什麼(即使你不知道如何)? – 2015-03-31 00:26:57
即使打印是Python 3.x中的一個函數。順便說一句,什麼Python版本? – 2015-03-31 00:27:01