字符串里的縫隙是什么
在Python中求一個字符串里,某子字符(串)出現的次數。
大家都懂得使用 count() 函數,比如下面幾個常規例子:
>>> "aabb".count("a")
2
>>> "aabb".count("b")
2
>>> "aabb".count("ab")
1
但是如果我想計算空字符串的個數呢?
>>> "aabb".count("")
5
不是應該返回 0 嗎?怎么會返回 5?
實際上,在 Python 看來,兩個字符之間都是一個空字符,通俗的說就是縫隙。
理解了這個“縫隙” 的概念后,以下這些就好理解了。
>>> (" " * 10).count("")
11
>>> "" in ""
True
>>> "" in "M"
True
x 與 +x 等價嗎?
在大多數情況下,這個等式是成立的。
>>> n1 = 10086
>>> n2 = +n1
>>>
>>> n1 == n2
True
什么情況下,這個等式會不成立呢?
由于Counter的機制,+
用于兩個 Counter 實例相加,而相加的結果如果元素的個數 <=
0,就會被丟棄。
>>> from collections import Counter
>>> ct = Counter('abcdbcaa')
>>> ct
Counter({'a': 3, 'b': 2, 'c': 2, 'd': 1})
>>> ct['c'] = 0
>>> ct['d'] = -2
>>>
>>> ct
Counter({'a': 3, 'b': 2, 'c': 0, 'd': -2})
>>>
>>> +ct
Counter({'a': 3, 'b': 2})
+= 不等同于=+
對列表 進行+=
操作相當于 extend,而使用 =+
操作是新增了一個列表。
因此會有如下兩者的差異。
# =+
>>> a = [1, 2, 3, 4]
>>> b = a
>>> a = a + [5, 6, 7, 8]
>>> a
[1, 2, 3, 4, 5, 6, 7, 8]
>>> b
[1, 2, 3, 4]
# +=
>>> a = [1, 2, 3, 4]
>>> b = a
>>> a += [5, 6, 7, 8]
>>> a
[1, 2, 3, 4, 5, 6, 7, 8]
>>> b
[1, 2, 3, 4, 5, 6, 7, 8]
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
字符串
+關注
關注
1文章
589瀏覽量
21094 -
函數
+關注
關注
3文章
4367瀏覽量
64143 -
python
+關注
關注
56文章
4823瀏覽量
86143
發布評論請先 登錄
相關推薦
熱點推薦
電機選型計算公式與知識點匯總
純分享帖,需要者可點擊附件獲取完整資料~~~*附件:電機選型計算公式與知識點匯總.pdf
【免責聲明】內容轉自今日電機,因轉載眾多,無法確認真正原始作者,故僅標明轉載來源。版權歸原出處所有,純分享帖,侵權請聯系刪除內容以保證您的權益。
發表于 04-29 16:10
電氣工程師必知必會的100個電?知識點分享
電??程師也都是從電?學徒??步?步積累成長起來的。積跬步?千?,匯細流成江海!朋友們,現在讓我們??個捷徑,花半個?時的時間來積累100個必知必會的電?知識點吧!
華邦電子安全閃存關鍵知識點
黑客攻擊?高溫考驗?駕駛安全?通通沒在怕的!1月15日,華邦電子舉辦了“安全閃存強化車用電子安全性”為主題的線上研討會。為了讓沒能參加這場線上研討會的邦友們也可以清晰 Get 安全閃存關鍵知識點,邦
Aigtek功率放大器應用:電感線圈的知識點分享
電磁驅動是功率放大器的一大基礎應用領域,其中我們最常見的就是用功放來驅動電感線圈,那么關于電感線圈的這10大知識點你都知道嗎?今天Aigtek安泰電子來給大家介紹一下電感線圈的基礎知識。

后悔沒有早點看到:天線設計中的知識點!
Cat.1 bis R13架構,天線架構精簡為單天線架構,去掉了分集接收天線,因此只需要一根天線。 ? 知識點: Cat.1 bis相對于Cat.1的區別是,后者為兩根天線(一根主天線,一根分集天線

硬件工程師面試基礎知識點
皮爾斯振蕩器(Pierce oscillator) 上圖中,U1為增益很大的反相放大器,CL1、CL2為匹配電容,是電容三點式電路的分壓電容,接地點就是分壓點。以接地點即分壓點為參考點,輸入和輸出是反相的,但從并聯諧振回路即石英

評論