gpt4 book ai didi

Python 语义 - for 循环声明中的多个参数

转载 作者:行者123 更新时间:2023-11-28 20:26:36 26 4
gpt4 key购买 nike

很抱歉问了一个愚蠢的问题,但有人能告诉我以下是什么意思吗

for ctype, (codename, name) in searched_perms:

我不明白括号里是怎么回事。 for ctype in serached_perms: 会有意义。

我意识到答案在某个地方的 python 文档中,但由于我不知道我在寻找什么,所以很难找到解释。

最佳答案

这实际上等同于

for x in search_perms:
ctype, y = x
codename, name = y

for x in search_perms:
ctype = x[0]
codename = x[1][0]
name = x[1][1]

即,它将 search_perms 中的项目成对解压,然后将每对中的第二个项目也解压成对。

例子:

>>> d = {"ham": "yes", "spam": "no", "eggs": "please"}
>>> for k, v in d.iteritems():
... print("%s? %s" % (k, v))
...
eggs? please
ham? yes
spam? no
>>> for i, (k, v) in enumerate(d.iteritems()):
... print("question %d: %s? %s" % (i, k, v))
...
question 0: eggs? please
question 1: ham? yes
question 2: spam? no

这是有效的,因为 enumerate(d.iteritems()) 生成对,其中每个第二个元素也是一对:

>>> list(enumerate(d.iteritems()))
[(0, ('eggs', 'please')), (1, ('ham', 'yes')), (2, ('spam', 'no'))]

关于Python 语义 - for 循环声明中的多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10950176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com