私が渡したデータを複製し、私のように置くアウトを取得:Pythonのデフォルトの辞書はpythonでデフォルト辞書のキー
defaultdict(<type 'list'>, {'[0, 13, 26, 39]': ['1']})
defaultdict(<type 'list'>, {'[0, 13, 26, 39]': ['1']})
defaultdict(<type 'list'>, {'[6, 19, 32, 45]': ['1']})
defaultdict(<type 'list'>, {'[3, 16, 29, 42]': ['1']})
どのようにそれは上記の出力に重複するキーを取得することは可能でしょうか?
は、それは私が実行しているコードは
def make_bands(value):
d2 = defaultdict(list)
for key, val in value.iteritems():
d2[(str(list(val[0:4])))].append("1")
print d2
値が別の辞書である
defaultdict(<type 'list'>, {'[0, 13, 26, 39]': ['1', '1']})
defaultdict(<type 'list'>, {'[6, 19, 32, 45]': ['1']})
defaultdict(<type 'list'>, {'[3, 16, 29, 42]': ['1']})
ようにすべきではない
機能make_bands
は、次のようにスパークRDDを処理するために呼び出されます
以下:
signatureBands = signatureTable.map(lambda x: make_bands(x)).collect()
あなたが使用しているのpythonのフルバージョンは何ですか? –
私はこの問題のない辞書を作ることができるようです。このエラーを小さな例で再現できますか?これは私が試したことです: '' d = defaultdict(list) '' orson ''のxには[[d [str(list)([x、 "en"]))] append( "1")を付け加えよう。 – putonspectacles
明らかにあなたが投稿したコードから出力されたものではありません - 4つの '' defaultdict''が表示されています。コードは1つだけを出力します。おそらくそれはコードの4つの別々の呼び出しから来ました。 – jasonharper