簡單的需求,獲取重複次數最多的資料
@沛公import random
_dict =
for i in range(1,1000000):
rd_num = random.randrange(0,999,1)
if rd_num in _dict:
_dict[rd_num] = _dict[rd_num]+1
else:
_dict[rd_num] = 1
#print(rd_num)
print(_dict)
items = _dict.items();
print(items[0:10])
items = sorted(items, lambda x,y:cmp(x[1],y[1]),reverse=true)
print(items[0:10])
4.0g 虛擬機器測試 100w資料0.6s 。。。 一般了 後續新增sqlite
import sqlite3
import random
_max_value = 100
_data_cnt = 1000000
conn = sqlite3.connect('test.db')
cur = conn.cursor()
def got_cnt(x):
cur.execute('''select times from sorted where value=%s;''' % x)
already = cur.fetchall()
length = len(already)
if length is not 0:
length = already[0][0];
#print('search for %s fond %s' % (x,length))
return length
cur.execute('''create table ramdon_data
(id integer primary key not null,value integer);''')
cur.execute('''create table sorted
(id integer primary key not null,value integer, times integer);''')
print("create ok")
for i in range(1,_data_cnt):
rd_num = random.randrange(0,_max_value,1)
#print(rd_num)
cur.execute('''insert into ramdon_data(value) values
(%s);''' % rd_num)
conn.commit();
print("data ready")
cur.execute('''select * from ramdon_data;''')
ans = cur.fetchall()
for d in ans:
#print(d)
value = d[1];
times = got_cnt(d[1]) + 1
if times is 1:
cur.execute('''insert into
sorted(value,times) values(%s,%s);''' % (value,times))
else:
cur.execute('''update sorted
set times=%s where value=%s;''' % (times,value))
conn.commit();
print("calc ready")
cur.execute('''select * from sorted order by times;''');
ans = cur.fetchall();
print('''
len is %s''' % len(ans))
for d in ans:
print(d)
conn.close();
加了sqlite之後,慢多了 100w資料 30s。。。 當然 跟我毫無節操的讀寫資料有關係。無論如何。sqlite和python以及sql算是入門了
python語法練習 python基本語法練習
1 列印九九乘法表 只列印結果 for i in range 1,10 for j in range 1,i 1 print i j,end print 列印算數表示式 for i in range 1,10 for j in range 1,i 1 print format j,i,i j end...
Python基礎語法練習2
1.隨機生成5個 100 100之間 包括 100與100 的整數儲存到列表中,按絕對值從小到大排列 若有相同數字,相同數字並列排序即可 並列印輸出列表 import random num list random.randint 100 100 for i in range 5 列表推導式 new ...
Python語法練習8 異常
python使用被稱為異常的特殊物件來管理程式執行期間發生的錯誤。若編寫了處理異常的 程式將繼續執行,若沒有,程式將停止並顯示乙個traceback.2.try except 塊 1 若try 塊中的 執行起來沒有問題,python將跳過except 塊,若在太容易 塊中發生錯誤,python將查詢...