簡體   English   中英

如何使用Python使用backet實現if語句?

[英]How does this:Use backet to achieve if statement in Python?

我看到了Python的用法,這很干凈,但是我不太理解這種用法​​,也無法搜索任何有用的解釋。

  1. 這是正常的方法:

     if a < 0: b = 2 * a else: b = 3 * a 
  2. 這實現了相同的目的:

     b = a * (3,2) [a<0] 

有人可以告訴我官方文件在上面說些什么嗎?

b = a * (3,2) [a<0]

a<0是返回true or false的條件,即1/0

(3,2)是一個以32為元素的元組

如果條件為true語句將在索引1處索引該元素,否則它將索引至元素0

喜歡

In [33]: (3,2)[0]
Out[33]: 3

In [34]: (3,2)[1]
Out[34]: 2

條件結果為01因為在python中, True means 1False means 0

In [35]: True == 1
Out[35]: True

In [36]: False == 0
Out[36]: True

將第二個選項僅用於打高爾夫球。 這些文檔確實並沒有說太多,但是Python的Zen確實指出“簡單勝於復雜”,並且“可讀性很重要”。 您應該使用第一個選項。

您還可以使用Python的三元運算符

b = a*(2 if a < 0 else 3)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM