1

规格: Python3.3.2

我打算做什么:

将字典作为输入并返回一个作为输出,但值现在是键,反之亦然

问题:我相信我可以弄清楚 key-and-value-switch 部分。但我不知道如何将字典作为输入。(并将对象类型保持为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 回答