有啥好玩的方法能夠告訴我,積累一些小代碼斷html
如今有12345五個東西,求分紅2,3,4,5組的全排列總和,且每組每一個方法不能重複。python
# 320種
for i in range(2, 6):
for j in itertools.permutations('12345', i):
print([int(x) for x in j])複製代碼
通常網頁請求json數據返回的json到了Python中會變爲字典形式,可是Python(3.6仍是3.5以前)的字典是無序的,若是業務需求要有序的話,只要作以下修改:mongodb
from collection import OrderedDict
# url是目標地址
result = urllib.request.urlopen(url).read().decode("UTF-8")
# 主要就是object_pairs_hook這塊引用OrderedDict.
json_result = json.loads(result, object_pairs_hook=OrderedDict)
# 這樣返回的json字典就是有序的複製代碼
若是你的MongoDB數據庫中存了相似於這樣的數據 LUUID("e5e1c8ee-cb58-11e7-a088-f82819e1bcfa"), 實際上就UUID類型的數據,這時候改怎麼讀取回來以後查詢呢?數據庫
官方文檔: 官方文檔json
在講如何查詢以前先說明一下查詢回來的結果只有 e5e1c8ee-cb58-11e7-a088-f82819e1bcfa 這一段,並且不能用api
或者 ui
結果都是沒法查詢到的url
接下來先要明白的是MongoDB實際上存儲的是一種叫作bson的類json數據格式(能夠互換).因此方向有了接下來就是查詢BSON裏面對於UUID的定義了.spa
# 通常查所有返回的時候數據str類型的uuid,這時候沒法直接回查,須要轉換數據格式
# 引入兩個包
from bson import UUIDLegacy
from bson.binary import UUID
# 例如你的uuid是e5e1c8ee-cb58-11e7-a088-f82819e1bcfa, 填進去返回的就是一個bson支持的UUID類型的數據
query = {"xxx": UUIDLegacy(UUID(<你的字符串類型的uuid>))}
# 若是你輸出query就會發現會是下面這樣子的
# {"xxx": UUIDLegacy('<你的UUID>')}
# 剩下就是查詢語句而已了
conn = ...
db = conn[<表名>]
col = db[<集合名>]
col.find(query)
...
# 若是前提本身不會操做這些UUID的就在存儲以前直接寫入一個str的uuid。
# 我當時就沒有意思數據類型帶來的問題,覺得MongoDB會變成字符串.
# 不過這也有收穫,知道bson還支持UUID這種數據類型複製代碼