来自python字典的多个赋值

时间:2012-04-08 16:00:18

标签: python dictionary variable-assignment

是否可以使这行代码有效?

description, content, state, city, datetime = makeTupleRightOrder(dictionary)

这个makeTupleRightOrder将从赋值的左侧获取'参数',将它们的名称转换为字符串并构建一个列表,从字典中获取它们的值。

2 个答案:

答案 0 :(得分:3)

没有。该函数不知道赋值的左侧是什么,即使它确实如此,变量也可能具有与键不同的名称。

答案 1 :(得分:2)

善良是对的。对于一般情况,您不能这样做。您可以做的是按字母顺序对键进行排序,并且始终确保您正在解压缩dict的变量按键的正确(字母顺序) :

city, content, datetime, description, state = [dictionary[k] for k in sorted(dictionary)]

(此示例假定字典键的名称与要将其解包的变量的名称相同。)

注意

如果您遇到强制执行此操作的情况,我会考虑以不同方式设计您的代码。您的实施可能存在缺陷。