家庭作业问题:
编写一个名为replace_all({'a':'123', 'b':'Zab'}, 'acb')
函数声明是什么样的?
什么类型的变量是'a':'123'
和{}
?
答案 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()