I don't quite follow: 1. what means the line stack = [((), dictionary)] Is it tuple inside list? Why? 2. what means the line result["/".join((path + (k,)))] = v? variable "result" is assigned nothing, but it is returned.