1

仕様: Python3.3.2

私がやろうとしていること:

入力として辞書を取り、出力として辞書を返しますが、値がキーになり、その逆も同様です

質問:キーと値の切り替えの部分は理解できると思います。しかし、入力として辞書を取得する方法がわかりません(オブジェクトタイプをそのままにしますdict

私が試したこと:

a = input("Please enter a dictionary: ")
print(a)

結果: {'a':1,'b':2}しかし

type(a)これは、使用して結果として取得することが示されているように、文字列オブジェクトであることが判明しました<class 'str'>

4

1 に答える 1

3

端末に入力するものはすべて、常に文字列になります! したがって、正しい dict を入力した場合は、次のように指定された文字列を実行して、最初に変換する必要があります。

import ast
a = input("Please enter a dictionary: ")
d = ast.literal_eval(a)
print d

ただし、質問へのコメントを見てください。dictコマンドラインからそのようなものを解析するよう誰かに頼まれるとは思いません。したがって、このタスクではおそらく、関数を記述して dict を受け取って出力するか、Python で可変と不変の違いとそれらがどのように渡されるかを確認できるように、それをいじってみてください!

乾杯!

于 2013-06-23T19:03:28.037 に答える