您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python if语句语法的变化

5b51 2022/1/14 8:21:46 python 字数 1587 阅读 520 来源 www.jb51.cc/python

我遇到了一些我以前从未见过的python代码语法.这是一个例子:i = 0 for spam in range(10): i += [1, 3][i > 5] print(i) 结果是1,2,3,4,5,6,9,12,15,18的顺序.因此,它递增1直到i> 5,然后增加3.以前,我会把这句话写成:if i > 5:

概述

我遇到了一些我以前从未见过的python代码语法.这是一个例子:

i = 0
for spam in range(10):
    i += [1,3][i > 5]
    print(i)

结果是1,2,3,4,5,6,9,12,15,18的顺序.因此,它递增1直到i> 5,然后增加3.

以前,我会把这句话写成:

if i > 5:
    i += 3
else:
    i += 1

那么这条线是什么:i = [1,3] [i> 5]

>你怎么称呼这种语法结构?
>它是某种形式的列表理解还是完全不同的东西?

语法很有趣,我想了解更多,但不知道在哪里看.

编辑:
谢谢Darks@R_56_2301@ne.我从未想过使用表达式来返回列表索引.那很酷.这意味着您还可以执行以下操作:spam = [“Even”,“Odd”] [eggs%2]返回偶数或奇数字符串或foo = [“A”,“B”,“C”] [zot %3]循环遍历zot值时循环三个选项.

可能不习惯使用这种结构,因为其他表达式更容易理解.但是,我会把这个放在那个完美情况的技巧中.

[1,3][0] # 1

要么

[1,3][1] # 3

它利用了0 == False和1 == True的事实.虽然有点不透明,但它相当整洁.我可能会这样写:

i = 0
for _ in range(10):
    i += 3 if i > 5 else 1
    print(i)

总结

以上是编程之家为你收集整理的python if语句语法的变化全部内容,希望文章能够帮你解决python if语句语法的变化所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶