gpt4 book ai didi

python - 请向我解释一下这段 python 代码是什么意思?

转载 作者:太空狗 更新时间:2023-10-30 00:36:35 26 4
gpt4 key购买 nike

我还在学习python,但是这段代码似乎超出了我的水平。这是什么意思?

 pairs = [s2 for s1 in qs.split('&') for s2 in s1.split(';')]

最佳答案

您可以将任何列表理解转换为等效的显式循环,如下所示:

pairs = []
for s1 in qs.split('&'):
for s2 in s1.split(';'):
pairs.append(s2)

规则是获取所有的 forif 子句,按照它们出现的顺序嵌套它们,然后 append(foo) 对于第一个子句之前出现的任何 foo

关于 List Comprehension 的教程部分(以及关于嵌套列表推导的小节)解释了这一点……但它没有为您提供将任何推导式转换为嵌套 block 语句的简单规则,这(在我看来)使得除了琐碎的情况之外的所有内容都更容易理解。

还值得注意的是 urllib.parse.parse_qsl (或 2.x 中的 urlparse.parse_qsl)是解析查询字符串的更好方法。除了它不涉及难以阅读的嵌套列表理解这一事实之外,它还可以正确处理您事先不会想到的各种事情(如引用),并且最终会为您的其中一个进行调试不知道如何提交有用的错误报告的用户。

关于python - 请向我解释一下这段 python 代码是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15752413/

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