みなさんこんにちは皆私はかなりPythonに新しいです(そうですk-meansアルゴリズムを使ってマルチプロセッシングに取り組んでいますが、データフォーマットに問題があります。私はリスト形式の辞書を持っています:
{0: [122.0, 0.000209], 1: [125.0, 0.000419], 2: [127.0, 0.000233], 3: [120.0, 0.000209], 4: [126.0, 0.000336]}
しかし、それはタプルの辞書になる必要があるので、次のようになります:
{0: (122.0, 0.000209), 1: (125.0, 0.000419), 2: (127.0, 0.000233), 3: (120.0, 0.000209), 4: (126.0, 0.000336)}.
私はあなたが関数を使用できることを知っている
tuple(list)
リストをタプルに変換するにはどうすればよいのでしょうか?辞書を繰り返し繰り返し、各エントリをタプルに変更します。誰かがこれを行う方法についてどのようなアドバイスを持っていますか?どんな援助もありがとうございます。
回答:
回答№1は4素朴な方法:
for key in dictionary:
dictionary[key] = tuple(dictionary[key])
または少しきれいに見えるが、そうでなければ完全に同一の方法:
for key, value in dictionary.iteritems():
dictionary[key] = tuple(value)
またはより多くの清潔さのための辞書の理解として最後のリキャスト:
dictionary = {k: tuple(v) for k,v in dictionary.iteritems()}
この特定の作業にはすべて十分でなければなりません。
(Python 3では、 dictionary.items()
のではなく、 iteritems()
)