我有使用稀疏向量兩點字典:更有效的解決方案?字典稀疏矢量
dict1 = {'a': 1, 'b': 4}
dict2 = {'a': 2, 'c': 2}
我寫我自己__add__
功能得到這個期望的結果:
dict1 = {'a': 3, 'b': 4, 'c': 2}
,我知道這是很重要的爲每個相應的值設置字符串'a','b'和'c'。只要確保我加上正確的維度是不夠的。我還會得到更多的,以前未知的字符串,其中有一些值我現在只是添加到字典中。
現在我的問題:那裏有更高效的數據結構嗎?我看着Numpy的數組和Scipy的稀疏矩陣,但據我瞭解,他們在這裏沒有任何幫助,或者我只是沒有看到解決方案?
我可以保留鍵和值在單獨的數組,但我不認爲我可以使用任何已有的函數來獲得所需的結果。
dict1_keys = np.array([a, b])
dict1_values = np.array([1, 4])
dict2_keys = np.array([a, c])
dict2_values = np.array([2, 2])
# is there anything that will efficiently produce the following?
dict1_keys = np.array([a, b, c])
dict1_values = np.array([3, 4, 2])
你真的需要你的鑰匙是字符串?你有沒有已知數量的密鑰,或者你想處理合並/添加任何可能的密鑰? –
在scikti-learn中查看[the stuff](http://scikit-learn.org/stable/modules/classes.html#module-sklearn.feature_extraction)。我沒有這方面的經驗,但我認爲它可以做你想做的事。 –
它必須是字符串。我當然可以將字符串映射到數字上,但我認爲這不會加速任何事情。是的,稍後添加更多密鑰 – carence