Python 海象運算子應用

2021-10-05 01:15:54 字數 853 閱讀 1285

leetcode上有道面試題:判斷字元是否唯一

其中有乙個答案是利用位運算子解決

class

solution

:def

isunique

(self, astr:

str)

->

bool

: t =

0for c in astr:

if t &

(p :=1

<<

(ord

(c)-97)

):return

false

t |= p return

true

is-unique-lcci/solution/mian-shi-ti-

0101

-pan-ding-zi-fu-shi-fou-wei-yi-ji-

/

:= 是海象運算子,可在表示式內部為變數賦值

比如原來

if

(len

(n)==

len(a)

)>

10:

需要呼叫len函式兩次

但是使用海象運算子以後只需要呼叫一次

if

(n :

=len

(a))

>

10:

|= 表示異或,即相同為f,不同為t

r s r|=s

--------------

t t t

t f t

f t t

f f f

運算子應用詳解

c語言中的 用法可謂靈活多樣,掌握了這些運算子的用法,可以大大提高程式設計效率,尤其涉及到二進位制位的程式設計,其優點將會更加淋漓盡致地發揮出來。直接上 1.輸入乙個十進位制數,返回它的二進位制序列中 1 的個數。方法1 將value值和1進行相與,若結果為1,則計數器加1.再將value整體右移,...

python 中位於運算子 應用

運算子在計算機中是二進位制運算子,常使用 即先進性位於運算子,在進行賦值,例如 a b 等價於 a a b。位於運算只二進位制 保同除異 a 3 a 011 b 2 b 010 a b a 010 print a a 2題目描述 輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。計算...

Python 海象運算子

海象運算子,可在表示式內部為變數賦值。python3.8 版本新增運算子。在這個示例中,賦值表示式可以避免呼叫 len 兩次,從而提高了執行速度 if n len a 10 print f list is too long elements,expected 10 假如在沒有海象運算子的時候,我們會...