首页 > 解决方案 > 任何人都可以使用带有字典的 for 循环来解释这个 python 语句吗?

问题描述

s=";".join(["%s=%s" % (k, v) for k, v in {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret" }.items()])
print(s)

. 当前输出为:

server=mpilgrim;database=master;uid=sa;pwd=secret

. 谢谢。

标签: python

解决方案


这是一个列表推导,它遍历字典中的每个元素,其中kv将分别是键和值。

对于每个元素,迭代将重现一个字符串,例如"%s=%s" % (k, v),这意味着一个键和一个值将由一个 = 符号连接,database=master例如产生。

列表推导生成这些元素的列表,然后每个元素由 ; 连接在一起。使用 join 函数签名。


推荐阅读