2014-04-28 184 views
1

這是我有的列表,我想將它轉換爲關鍵值1-9的字典。我使用的是貝福德定律,我試圖找到每個號碼的起始數字,並跟蹤每個號碼的起始數字。這是我的清單。它持續時間更長,但我只複製了一小部分。將列表轉換爲字典

['2930', '4782', '709', '433', '29861', '20115', '15114', '2417', '737', '966', '8863', '355', '23561', '8272', '1288', '1961', '746', '318', '2100', '1890', '2643', '24194', '10109', '6587', '57828', '877', '488', '624', '722', '322', '222', '8342', '3163',...... 
+0

你到底算? – ajkumar25

+0

對於數值,你想要以數字「i」開頭的數字的數量還是你想要數字本身? – Ffisegydd

回答

9
from collections import Counter 
l = ['2930', '4782', '709', '433', '29861', '20115', '15114', '2417', '737', '966', '8863', '355', '23561', '8272', '1288', '1961', '746', '318', '2100', '1890', '2643', '24194', '10109', '6587', '57828', '877', '488', '624', '722', '322', '222', '8342', '3163'] 
c = Counter(x[0] for x in l) 


>>> c 
Counter({'2': 9, '1': 5, '3': 4, '7': 4, '8': 4, '4': 3, '6': 2, '5': 1, '9': 1}) 
+3

順便說一句,你不需要一個列表理解,一個生成器表達式更容易記憶(特別是因爲OP說他們的列表更長),所以你可以放棄'[]' – Ffisegydd

+0

公平點。謝謝 – jdotjdot