最後完成的我的世界階段,加入了統計熱門UP主的模塊:統計所有視頻的UP主出現最多的次數,獲取前10的UP主。
主要流程就是:
將數據庫所有的author獲取放入數組,進行次數統計;
對次數進行排序,當然對應的UP主也是需要跟着跑的,因此考慮到使用字典;
獲取前10名的UP主。
過程中我得到幫助的有:
Python統計列表中的重複項出現的次數的方法_python_腳本之家 http://www.jb51.net/article/53911.htm
Python刪除list中的元素 https://www.douban.com/note/277146395/
Python中 字典排序、列表排序 - duhaizhang的個人頁面 https://my.oschina.net/duhaizhang/blog/71123
統計次數最終我還是自己寫出來了,沒有用內置的函數,因爲後面需要字典來排序,所以內置函數可以當作瞭解。
其實自己寫也不是很難,主要把握好下標的變化和長度的變化即可。
from collections import Counter
str = ['Tom', 'Sim', 'Jack', 'Tom', 'Sleep', 'We', 'Tom', 'Tom', 'Sim', 'We', 'Tom']
dic = Counter(str)
for i in dic.iteritems():
print i[0], i[1]
count = 1
l = len(str)-1
x = {}
t = 0
while t <= l:
th = str[t]
i = t + 1
while i <= l:
if th == str[i]:
count += 1
del str[i]
i -= 1
l -= 1
i += 1
x[th] = count
count = 1
t += 1
print x
y = sorted(x.iteritems(), key=lambda x: x[1], reverse=True)
print y
three = (y[0], y[1], y[2])
for t in three:
print t[0]
item = x.items()
item.sort()
for k,v in item:
print k,v
運行結果:
We 2
Sleep 1
Jack 1
Sim 2
Tom 5
{'We': 2, 'Sleep': 1, 'Jack': 1, 'Sim': 2, 'Tom': 5}
[('Tom', 5), ('We', 2), ('Sim', 2), ('Sleep', 1), ('Jack', 1)]
Tom
We
Sim
Jack 1
Sim 2
Sleep 1
Tom 5
We 2
以上代碼是我解決統計次數的過程。
而當具體應用到實際模塊那裏,就前後多了兩步,這裏就不放代碼了:
把str改成從數據庫獲取到的數據
最後只需要字典前10的元素
即可。
---------------17年8月8號更新---------------
話不多少了,前幾天才寫的一篇博
溫故而知新,我覺得可以--Python番 -》 http://blog.csdn.net/zy_dream/article/details/76571974
給自己一個眼神自己體會