例如,Python的字典或替代
if dict['sample']:
//append values to dict['sample']
else:
// assign new key to the python dictionary
如果字典[ '樣品']是空的,Python會引發錯誤。有誰知道一個更好的方法來檢查這個?我想要的是類似的東西,我會有數據列表,比如說a,a,b,c,g,g,g,g,g。
所以,我想要python字典追加兩個a,a到dict ['a']和g,g,g,g到dict ['g']的值,剩下的就像字典['b']等等.for循環將被執行以循環通過a,a,b,c,g,g,g,g,g的數據。
我希望我已經明確了我的問題。任何想法?最好,如果Python的字典有辦法檢查現有的密鑰。
編輯
幸得@保羅麥圭爾。基於@Paul McGuire的回答,我已經想出了我想要的確切解決方案。如下圖所示:
from collections import defaultdict
class Test:
def __init__(self, a,b):
self.a=a
self.b=b
data = []
data.append(Test(a=4,b=6))
data.append(Test(a=1,b=2))
data.append(Test(a=1,b=3))
data.append(Test(a=2,b=2))
data.append(Test(a=3,b=2))
data.append(Test(a=4,b=5))
data.append(Test(a=4,b=2))
data.append(Test(a=1,b=2))
data.append(Test(a=5,b=9))
data.append(Test(a=4,b=7))
dd = defaultdict(list)
for c in data:
dd[c.a].append(c.b)
print dd
另一個學習的機會 - * namedtuple *。替換你的Test類(它應該擴展'object',BTW),用下面的代碼:'Test = namedtuple(「Test」,「ab」)',將'namedtuple'加入你從彙集模塊導入的內容, 。 'namedtuples'對於這些簡單的類結構類很方便,並且它們是不可變的,因此可以用作適當的字典鍵和設置值。 – PaulMcG 2011-12-30 16:39:41
再次感謝您的知識。以上只是我寫的一個例子。我應該從服務器端獲取數據並返回GQL查詢對象。但是你的建議肯定有助於未來的需求。再次感謝 ! :) – MrCooL 2011-12-30 18:37:13