這是一個簡單的程序,但我發現它很難實際工作。 我有 database 3元組。這個程序做什麼?
import matplotlib.pyplot as plt
queries = {}
rewrites = {}
urls = {}
for line in open("data.tsv"):
q, r, u = line.strip().split("\t")
queries.setdefault(q,0)
queries[q] += 1
rewrites.setdefault(r,0)
rewrites[r] += 1
urls.setdefault(u,0)
urls[u] += 1
sQueries = []
sQueries = [x for x in rewrites.values()]
sQueries.sort()
x = range(len(sQueries))
line, = plt.plot(x, sQueries, '-' ,linewidth=2)
plt.show()
這是整個程序, 現在
queries.setdefault(q,0)
此命令將設置的值爲0,如果密鑰i,E和q是找不到的。
queries[q] += 1
如果鍵存在,此命令會將每個鍵的值遞增1。 我們繼續使用所有元組。 然後,
sQueries = [x for x in rewrites.values()]
然後我們存儲的值從字典重寫,列出Squeries
x = range(len(sQueries))
此命令正在發生的事情,我沒有得到。任何人都可以請解釋。
您是否試過查找'range'和'len'函數的文檔? – TigerhawkT3
是的,我知道什麼範圍和len做。 –
[範圍](https://docs.python.org/2/library/functions.html#range),[len](https://docs.python.org/2/library/functions.html#rang) – Maikflow