1

まず、Googleで答えを検索しようとしましたが、Pythonの初心者であるため、適切な答えを見つけるのが難しくなりました。

1 つの辞書の値を csv 形式に変換したいと考えています。すべての値に対して簡単に聞こえます。

import csv
import sys
mydictionary = {"one" : "1", "two" : 2, "three" : "3"}
w = csv.writer(sys.stderr)
w.writerow(mydictionary.values())

しかし、「1」と「3」の値だけを表示したい場合はどうすればよいでしょうか? 次の質問は、数字が「1,2,3」の順ではなく、「3,2,1」の順で表示されるのはなぜですか?

4

3 に答える 3

3

次のような方法でサブ辞書を作成できます。

subkeys = ["one", "three"]
subdict = {x: mydictionary[x] for x in mydictionary if x in subkeys}

print subdict

{'one': '1', 'three': '3'}

Python では辞書は順序付けられた構造ではないため、キーを入力する順序は、キーが取得される順序に必ずしも関係しません。その間にディクショナリに操作が適用された場合は、同じか、逆か、または別の可能性があります。順序を変更しないことが本当に必要な場合は、 Ordered Dictionariesをご覧ください。

于 2013-06-19T10:29:49.077 に答える