成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python 中,字符串"連接"效率最高的方式是?一定出乎你的意料

開發 開發工具
網上很多文章人云亦云,字符串連接應該使用「join」方法而不要用「+」操作。如果連接的字符串很少,只有幾個或者十幾個,完全可以通過「+」來連接,畢竟這種方式更直白,而超過一定個數之后,則應該采用「join」方法,只有在操作大數據的時候,兩者的對比才明顯。

網上很多文章人云亦云,字符串連接應該使用「join」方法而不要用「+」操作。說前者效率更高,它以更少的代價創建新字符串,如果用「+」連接多個字符串,每連接一次,就要為字符串分配一次內存,效率顯得有點低,這樣的解釋聽起來很有道理,但 Cpython 解釋器是不是真的按照我們說的這樣呢?

今天做了一個試驗,結果可能會出乎你的意料。

  1. def join(n): 
  2.     s = "".join((str(i) for i in range(n))) 
  3.  
  4. def format(n): 
  5.     ("{}" * n).format(*(i for i in range(n))) 
  6.  
  7. def plus(n): 
  8.     s = "" 
  9.     for i in range(n): 
  10.         s += str(i) 

上面 3 個函數分別表示用「join」和「format」還有「+」操作來連接字符串,從 0 到 n,總共 n 個數字連接起來構成一個新的字符串,形如:1234567891011……n。

下面是測試腳本:

Python 中,字符串\"連接\"效率***的方式是?一定出乎你的意料

每組取了15個樣本數據,分別用 1,2,4,8,… 8192 個數字相連接,得到的統計數據可以看出,在數據量非常少的時候,三者效率幾乎沒什么差異,當少于20個字符串連接時,用「+」效率甚至更高,不過,隨著字符串的個數增多,「join」方法發揮出來效果了,而用「+」越來越慢。這點無論是 python2 還是 python3 基本上是一樣的。

python2.7.10

python2.7.10

python3.6.0

python3.6.0

所以結論是:如果連接的字符串很少,只有幾個或者十幾個,完全可以通過「+」來連接,畢竟這種方式更直白,而超過一定個數之后,則應該采用「join」方法,只有在操作大數據的時候,兩者的對比才明顯。

通過現象看本質才能做到知其然并知其所以然。Cpython 編譯器內部其實針對字符串做了非常多的優化工作。

***,做任何事我們都不能僅憑三言兩語就聽信于人,而應該帶著質疑的精神去探索這個世界。

【本文是51CTO專欄作者“劉志軍”的原創文章,作者微信公眾號:Python之禪(VTtalk)】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2020-07-29 17:15:19

Java人臉識別人工智能

2021-02-26 09:04:22

數組ArrayListHashMap

2015-10-21 11:09:08

Xcode7調試神技

2019-10-29 20:13:43

Java技術程序員

2015-08-06 13:30:56

商鋪線上

2010-10-12 11:13:51

2021-01-14 10:38:41

Java枚舉工具

2022-06-27 07:32:00

JavaArrayList語法糖

2022-07-20 07:29:52

Java

2010-05-25 15:58:45

MySQL連接字符串

2011-07-11 15:36:44

JavaScript

2021-01-28 23:40:58

編程語言PythonPerl

2021-01-29 12:28:13

編程語言開發代碼

2011-05-31 13:41:00

C語言

2020-07-29 07:37:20

Git 修復項目

2010-03-16 17:14:19

Python字符串

2010-03-16 17:41:14

Python字符串

2010-06-17 16:13:05

SQL Server

2020-08-30 14:31:40

Python編程語言開發

2019-01-21 08:20:17

通信4G5G
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久综合久 | 欧美精品一区二区三区在线播放 | 日韩在线播放视频 | 国产精品视频一区二区三区 | 欧美日韩视频在线 | 黄色在线免费观看视频 | 日韩精品在线看 | 亚洲成在线观看 | 欧美激情一区二区三区 | 国产激情自拍视频 | 91精品国产色综合久久 | 91久久精品日日躁夜夜躁国产 | 波波电影院一区二区三区 | 精品国产一区二区三区免费 | 久久久久国产精品免费免费搜索 | 日韩欧美精品 | 日本公妇乱淫xxxⅹ 国产在线不卡 | 国产一级在线视频 | 国产精品日韩欧美一区二区三区 | www.色综合 | 天天插天天射天天干 | 日韩免费视频一区二区 | 日韩成人免费 | 中文字幕第一页在线 | 亚洲精品一区二区三区 | 欧美激情欧美激情在线五月 | 久草精品视频 | 久久精彩视频 | 欧美日韩久久 | 成人av在线播放 | 日韩在线成人 | 亚洲精品一区二区三区中文字幕 | 999久久久| 日韩精品av一区二区三区 | 日韩精品一区二区三区四区视频 | 一级片免费网站 | 综合久久99| 国产人成精品一区二区三 | 91精品国产色综合久久不卡98 | 国产精品视频观看 | www国产精品 |