大括号和冒号的含义?

时间:2010-12-01 06:35:36

标签: python

家庭作业问题:

编写一个名为replace_all({'a':'123', 'b':'Zab'}, 'acb')

的函数

函数声明是什么样的?

什么类型的变量是'a':'123'{}

4 个答案:

答案 0 :(得分:3)

这是一本字典(映射)。

请参阅http://docs.python.org/library/stdtypes.html#dict

通常,在python中定义函数时,不需要类型。 Python是动态类型语言。

答案 1 :(得分:1)

{}是空字典,{'a':'123'}是一个字典,其密钥'a'具有关联值'123'

该功能如下:

def replace_all(replace_map, string):
    pass # fill in here

答案 2 :(得分:1)

Python中的函数声明不涉及任何类型,因为Python中的变量没有类型 - 具有类型。

您不单独声明该功能,只需编写即可。函数的第一行看起来像def name_of_function(arguments, go, here):。在您的情况下,有两件事要传递:{'a': '123', 'b': 'Zab'}'acb'。所以你需要指定两个参数,并给它们命名。

{'a': '123', 'b': 'Zab'}是一个单一的“事物” - 'a': '123'本身毫无意义。整个事情是,而不是变量。值的类型为dict。该值表示逻辑映射:即,该值编码“'a'对应于'123'的概念,'b'对应'Zab'”。

我假设,名称为replace_all,意图是查看'acb'中的每个字符,并将其替换为字典中的相应值(如果有)。

通过使用“key”作为索引,您从dict获得“相应的值”。因此,如果您将 {'a': '123', 'b': 'Zab'}绑定到变量 my_dict,那么评估my_dict['a']会得到结果{{1} },因为那是与'123'中的'a'键相关联的值。如果密钥实际上不在dict中(例如dict),则会引发my_dict['c']。您可以处理异常,也可以使用“安全”访问功能之一,例如KeyError的{​​{1}}方法。有关详细信息,请参阅文档。

答案 3 :(得分:0)

这种函数的声明是“def replace_all(Dictionary,String):”。使用'{}'指定python的字典数据结构,其中'a','b'是键,它们有自己的对应值。“'a':'123'”被称为字典的项目(如果你在同一个字典的上下文中考虑“'a':'123',否则它是一个字符串),它们可以作为元组检索。

有关详细信息,请查看python手册中的dictionary和dict.items()