Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python字典中的多个赋值_Python_Dictionary_Variable Assignment - Fatal编程技术网

python字典中的多个赋值

python字典中的多个赋值,python,dictionary,variable-assignment,Python,Dictionary,Variable Assignment,有可能使这行代码有效吗 description, content, state, city, datetime = makeTupleRightOrder(dictionary) 此MakeTuplerRightOrder将从赋值的左侧获取“参数”,将它们的名称转换为字符串,并从字典中获取它们的值构建一个列表。否。函数不知道赋值的左侧有什么,即使它知道,变量的名称可能与键不同。kindall是正确的。在一般情况下,你不能这样做。您可以做的是按字母顺序对键进行排序,始终确保要解包的dict变量按

有可能使这行代码有效吗

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

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

否。函数不知道赋值的左侧有什么,即使它知道,变量的名称可能与键不同。

kindall是正确的。在一般情况下,你不能这样做。您可以做的是按字母顺序对键进行排序,始终确保要解包的dict变量按键的正确顺序(字母顺序):

city, content, datetime, description, state = [dictionary[k] for k in sorted(dictionary)]
(本例假设字典键的命名与要将其解包到的变量相同)

注意


<>如果你遇到了你被迫这样做的情况,我会考虑用不同的方式来设计你的代码。您的实现可能有缺陷。

将其重写为
map(lambda x:dictionary[x],[description,content,state,city,datetime])
locals()。更新(dictionary)
实现了将字典转换为变量名的最终目标。@StevenRumbalski
locals()的内容
不应该被修改。@JoshLee:为什么不呢?这就是OP试图用他的代码所做的。@Abhijit它不起作用,python抛出了一个名称错误(正如怀疑的那样),这肯定太过分了,但是如果你把左侧的变量变成了相互“了解”的智能对象,你可以让它们交换数据,直到它们有正确的值为止。这会很酷,但毫无意义。@Joel:即使左侧的对象在某种程度上是“智能的”,也没关系,因为它们在分配任务后将是完全不同的对象。(在Python中不可能重写赋值。)