为什么python字典是空的?
我有一个函数,它运行一个列表,然后加载一个字典。 它在函数中输出良好,但返回dict为空为什么python字典是空的?,python,dictionary,Python,Dictionary,我有一个函数,它运行一个列表,然后加载一个字典。 它在函数中输出良好,但返回dict为空 95 def getAttachmentDict(messageIds): 96 messageTable = defaultdict(list) 97 for id in messageIds: 98 uri = "/message/" + id 99 res = getMessages(uri) 100 doc = xml.dom
95 def getAttachmentDict(messageIds):
96 messageTable = defaultdict(list)
97 for id in messageIds:
98 uri = "/message/" + id
99 res = getMessages(uri)
100 doc = xml.dom.minidom.parse(res)
101 idUrl = doc.getElementsByTagName("url")
102 alist = []
103 for i in idUrl:
104 urlData = i.childNodes[0].nodeValue
105 alist.append(urlData)
106 messageTable[id] = alist
107 print "\n"
108 for key, value in messageTable.items():
109 print "Message ID: " + key
110 print "\n".join(value)
111 return messageTable
169 getAttachmentDict(messageIds)
170 pdb.set_trace()
171 print messageTable
消息ID:MyUHRnzm7AXkFmiKocUjzn
config-safety-report.html
消息ID:RqfljNnyz63bBpGLtL4B2D
个人报告.csv
/Work/ftpTool/acquire.py(171)main()
->打印消息表
(Pdb)n
{}
您没有对返回值执行任何操作。这只是打印您调用的其他变量
messageTable
169 getAttachmentDict(messageIds)
170 pdb.set_trace()
171 print messageTable
试试这个
169 messageTable = getAttachmentDict(messageIds)
170 pdb.set_trace()
171 print messageTable
调用
getAttachmentDict()
时,需要将结果分配给一个名称(可以是messageTable
,也可以是您想要使用的任何其他名称)。例如:
169 messageTable = getAttachmentDict(messageIds)
170 pdb.set_trace()
171 print messageTable
令人惊叹的。那很好用。现在我的问题是,为什么我可以返回一个列表,例如messageid,然后直接打印呢?您可能正在将messageid作为参数传递,并修改它引用的列表