我發現自己經常在Python中使用扁平列表創建索引列表。這是一個常見的任務,我想知道是否有一個標準的實用程序,我應該使用它。將數組索引
上下文是這樣的:給定一個數組,我需要使用一些關鍵字來創建一個小數組的字典來進行分組。
e.g:
["Andy","Alice","Bob","Beth","Charlie"]
成爲
{"A":["Andy","Alice"],"B":["Bob","Beth"],"C":["Charlie"]}
我的解決辦法是這樣的:
def make_index(data,key,value=lambda x:x):
d={}
for item in data:
k = key(item)
v = value(item)
try: d[k].append(v)
except KeyError: d[k]=[v]
return d
很簡單,所有的,但我會重新發明的東西,實現更好一些呢?
明顯快於GROUPBY也...這是有點suprising ... –
@JoranBeasley:這是你做整理殺死它。 –