【发布时间】:2012-01-23 00:12:22
【问题描述】:
如果我有来自另一个函数的字典,如何在新函数中传递字典? 例如。
从另一个函数,我有这样的元组('falseName', 'realName', positionOfMistake),例如。 ('Milter', 'Miller', 4)。我有一个函数可以制作这样的字典:
D={realName:{falseName:[positionOfMistake], falseName:[positionOfMistake]...},
realName:{falseName:[positionOfMistake]...}...}
def addNameToDictionary(d, tup):
if not d.has_key(tup[0]):
d[tup[0]] = {}
d[tup[0]][tup[1]] = [tup[2]]
现在我需要编写一个函数来获取 falseName 的列表并返回:
realName:
falseName
falseName
realName:...
我的问题是如何将字典从函数 addNameToDictionary 调用到一个新函数?
我尝试了以下方法:
def Names(nameList):
D=addNameToDictionary(d, tup)
print D
但我明白了:
NameError: global name 'd' is not defined
有人吗?
【问题讨论】:
-
为什么不像在 addNameToDictionary 中那样将 dict 传递给新函数?
-
“调用字典”是什么意思,为什么不直接将
dict作为参数传递给新函数? -
好吧,d 不在您的代码中。你所拥有的只是(大写)D。更重要的是,您不会从 addNameToDictionary 中返回任何内容。
-
这里是教程列表。我建议您选择一个并完成它:wiki.python.org/moin/BeginnersGuide/NonProgrammers.
-
您已经问过stackoverflow.com/questions/8550912/… 并得到了很多帮助。在提出更多问题之前,您可能需要阅读一些编程教程。
标签: python dictionary