Python:for循环之前指定的变量

2024-10-01 11:35:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python还不熟悉,但一般来说不是编程。通过检查“diveinto Python”,我找到了这个例子(可以使用),但是我没有得到语法。在

return ";".join(["%s=%s" % (k, v) for k, v in params.items()])

简单地说,它使用变量k和v作为“%s=%s”的字符串(这里没什么奇怪的),但是这些变量还没有任何值。就像这样,还有一个for循环,它迭代并为k和v赋值。所以这就是让我困惑的地方: 1for循环是以某种方式将k和v值返回到前面的语句(k,v)。 2两种说法(1。“%s=%s”%(k,v)和2。对于k,v in参数项())可以在同一行中,没有语法错误。在

我已经检查了“for”语法引用,它甚至没有这个方向的提示,所以我确定我必须检查其他地方,但不知道在哪里。在

提前谢谢你。在


Tags: 字符串inforreturn编程地方方式语法
2条回答

列表理解是一种将一个列表(实际上是任何iterable)转换为另一个列表的工具。在这个转换过程中,元素可以有条件地包含在新列表中,并且每个元素都可以根据需要进行转换。在

如果您熟悉函数式编程,您可以将列表理解看作是filter后跟map的语法糖:

>>> doubled_odds = map(lambda n: n * 2, filter(lambda n: n % 2 == 1, numbers))
>>> doubled_odds = [n * 2 for n in numbers if n % 2 == 1]

每个列表理解都可以重写为for循环,但不是每个for循环都可以重写为列表理解。在

如果您可以重写代码,使其看起来像这样的for循环,那么也可以将其重写为列表理解:

^{pr2}$

您可以将上面的for循环重写为如下列表理解:

new_things = ["something with " + ITEM for ITEM in old_things if condition_based_on(ITEM)]    
param.items() = [(key1, val1), (key2, val2) ... ]

用于此列表理解的扩展代码。。首先在方括号内生成列表,然后通过将列表传递给join方法将其连接在一起。在

^{pr2}$

相关问题 更多 >