2011-08-15 57 views
0

有大量的數據,有各種各樣的組。我想檢查新數據是否適合任何組,如果它確實需要將該數據放入該組中。如果數據不適合任何組,我想創建新組。那麼,我想使用鏈表作爲目的,還是有其他方法可以做到這一點?python中的鏈表

P.S.我有辦法檢查數據和組代表之間的相似性(現在不要去那裏),但我不知道如何將數據添加到組(每個組可能是列表)或創建新的,如果需要。我想我需要什麼鏈接列表實現在Python中,不是嗎?

+0

定義「適合一個組」。 –

+0

@ Karl Knechtel,我想將數據與每個組的代表進行比較(可能是羣組或平均值;稍後會發現),如果比較的數據與提供閾值的羣組代表匹配,則數據可以是作爲團體的新成員追加...如果與其他團體覈對,則另外創建團體...其他團體的第一個成員是數據創建新團體...我希望它對您清楚。謝謝。 – Ajay

回答

2

我會建議使用字典(或defaultdict),其中鍵是組和值是所有數據的列表。這裏有一個簡單的例子:

>>> from collections import defaultdict 
>>> get_group = lambda x: x % 4 
>>> d = defaultdict(list) 
>>> for value in range(10): 
...  d[get_group(value)].append(value) 
... 
>>> dict(d) 
{0: [0, 4, 8], 1: [1, 5, 9], 2: [2, 6], 3: [3, 7]} 
+0

非常感謝...抱歉,我沒有想過這件事..對不起,提出這樣一個簡單的查詢。 – Ajay

+0

@Ajay - 沒問題,如果我的解決方案適用於您,請點擊我答案旁邊複選標記的大綱。 –

7

這聽起來像是一本字典的完美用法。

+0

非常感謝..我以相當複雜的方式思考簡單的事情 – Ajay