我有這樣的代碼:提取值
class B():
def __init__(self, valueA, valueB):
self.valueA = valueA
self.valueB = valueB
def __repr__(self):
return 'B({0},{1})'.format(self.valueA, self.valueB)
我的數據是:
thedata = {'a': [B(1, 0.1),B(2, 0.2)],
'b': [B(3, 0.3),B(4, 0.4)]}
我想要做的就是從上面字典提取a
和b
屬性根據關鍵字2個新詞典。
所以,我想:
thedata_a_valueA = {'a':[1, 2]}
thedata_a_valueB = {'a':[0.1, 0.2]}
thedata_b_valueA = {'b':[3, 4]}
thedata_b_valueB = {'b':[0.3, 0.4]}
最後我想2點字典:
newdict_valueA = {'a':[1, 2], 'b':[3,4]}
newdict_valueB = {'a':[0.1, 0.2], 'b':[0.3,0.4]}
一種解決方案是使用列表,但我必須創造相當多的名單,在其中循環,追加etc
thedata
有沒有更清潔/更快的解決方案?
唐忘記Python字典不支持重複鍵。因此,在newdict_valueB示例中不可能使用兩個具有不同值的'b'鍵。 –
@MarkStreatfield:對不起,這是一個錯字。 – George