2025-09-10:仓库迁移

This commit is contained in:
2025-09-10 16:12:45 +08:00
parent e0e49b0ac9
commit 3130e336a1
146 changed files with 4066 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
# 假如我们有一个记录需要进行分组
rows = [
{"address": "5412 N CLARK", "date": "07/01/2012"},
{"address": "5148 N CLARK", "date": "07/04/2012"},
{"address": "5800 E 58TH", "date": "07/02/2012"},
{"address": "2122 N CLARK", "date": "07/03/2012"},
{"address": "5645 N RAVENSWOOD", "date": "07/02/2012"},
{"address": "1060 W ADDISON", "date": "07/02/2012"},
{"address": "4801 N BROADWAY", "date": "07/01/2012"},
{"address": "1039 W GRANVILLE", "date": "07/04/2012"},
]
# 如果我们想按日期进行分组那itertools里的groupby会很好用
from operator import itemgetter
from itertools import groupby
# 因为groupby只能检查连续的项所以我们先对列表进行排序
rows.sort(key=itemgetter("date"))
print(rows)
# 然后我们进行分组操作:
for date, items in groupby(rows, itemgetter("date")):
print(date)
for i in items:
print(' ', i)
# groupby每次返回的是一个值分组名称和一个子迭代器组内数据
# 当然如果是单纯的分组,一键多值字典是个好东西
from collections import defaultdict
data = defaultdict(list)
for item in rows:
data[item["date"]].append(item)
print(data)
# 在不考虑内存开销的情况下这东西比先排序再groupby快