欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python運(yùn)算符&=使用實(shí)例探究

 更新時(shí)間:2024年01月19日 11:15:04   作者:harvey的網(wǎng)絡(luò)日志  
這篇文章主要為大家介紹了Python運(yùn)算符&=使用實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

寫在前面

最近我復(fù)習(xí)了一些 python 的運(yùn)算符知識(shí),然后學(xué)到了一些新的知識(shí),&=一個(gè)全新的運(yùn)算符。

位運(yùn)算

你可能已經(jīng)熟悉位運(yùn)算,其中&是一個(gè)二進(jìn)制的 AND 運(yùn)算符。1 & 1True(1),但其他所有1和0的組合都是False(0)。

這個(gè)特性給了我們一個(gè)思路,那就是用位運(yùn)算來檢查一個(gè)整數(shù)是奇數(shù)還是偶數(shù),因?yàn)槠鏀?shù)的最后一位始終是1(你懂的,這里說的是二進(jìn)制表示):

for x in range(5):
    print(f"{x}:是{'奇數(shù)' if x & 1 else '偶數(shù)'}")

輸出:

0:是偶數(shù)
1:是奇數(shù)
2:是偶數(shù)
3:是奇數(shù)
4:是偶數(shù)

賦值語句

如果你熟悉賦值運(yùn)算符,比如+=,你會(huì)知道它們是一種有用的簡(jiǎn)寫形式,用于執(zhí)行一個(gè)操作,然后將結(jié)果分配回原始對(duì)象,即運(yùn)算符左邊的對(duì)象。&=也是一樣,它執(zhí)行二進(jìn)制AND操作,并將值分配回原始對(duì)象。

a = 11

a &= 1
print(a)

a &= 0
print(a)

print(type(a))

輸出:

1
0
<class 'int'>

我不確定這是巧合還是設(shè)計(jì)的結(jié)果,但是相同的語法也可以用于對(duì)兩個(gè)集合的元素執(zhí)行AND操作,(感謝Terry Davis在評(píng)論中指出)它被稱為交集更新運(yùn)算符,是intersection_update()方法的縮寫。它更新原始集合,只保留在另一個(gè)集合中也有的每個(gè)元素。

但是你是否曾經(jīng)真正使用過這些&=運(yùn)算符,或者想象過它們的用途?直到今天,我都沒有...

基本上,無論何時(shí)你開始有一個(gè)假設(shè),你希望接受它...直到發(fā)生一個(gè)關(guān)鍵事件,證明它是錯(cuò)誤的。換句話說,如果你找到了至少一個(gè)反例,那么假設(shè)就被拒絕了,只有在它似乎仍然合理的情況下才接受假設(shè)(例如,當(dāng)它繼續(xù)通過你的測(cè)試時(shí))。

這是科學(xué)方法的典范,如果我還記得我的學(xué)校時(shí)光的話!

實(shí)際上,在數(shù)據(jù)整理中,這是一個(gè)相當(dāng)常見的用例:我將電子表格表示為Python字典的列表,我想找到并刪除所有的空值(如None"")的列。

以下是代碼:

def remove_empty_columns(data):
 columns_to_delete = set(data[0].keys())
 for row in data:
 # 只有在最新行的列也為空時(shí)保持True(=刪除)
 columns_to_delete &= {key for key, value in row.items() if not value}
 for row in data:
 for column in columns_to_delete:
 del row[column]
 return data

當(dāng)然我可以使用 Pandas,但這樣可以避免使用龐大的依賴庫,我甚至懷疑Pandas的底層邏輯也是這個(gè)原理(如果有興趣你可以去驗(yàn)證一下)。

一個(gè)小技巧

如果你想求多個(gè)集合的交集,你可以使用 &將它們鏈接在一起:

set1 = {1, 2, 3}
set2 = {2}
set3 = {2, 3}
set4 = {1, 2}
set1 &amp;= set2 &amp; set3 &amp; set4
print(set1)

輸出:

{2}

寫在最后

在 Python 中,&=是位運(yùn)算符的賦值操作,用于按位與操作并將結(jié)果賦值給左操作數(shù)。它具有多種實(shí)際應(yīng)用,包括判斷整數(shù)的奇偶性、執(zhí)行位運(yùn)算并更新原始對(duì)象,以及對(duì)多個(gè)集合執(zhí)行交集更新操作。

此外,我們還提供了一個(gè)實(shí)際的用例,即在數(shù)據(jù)整理中使用&=運(yùn)算符刪除僅包含空值值的列。通過迭代處理字典列表并使用&=運(yùn)算符來更新要?jiǎng)h除的列的集合,可以高效地完成此操作。

以上就是Python運(yùn)算符&amp;=使用實(shí)例探究的詳細(xì)內(nèi)容,更多關(guān)于Python運(yùn)算符&amp;=的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論