<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          請停止在Python中無休止使用列表

          共 4113字,需瀏覽 9分鐘

           ·

          2021-04-06 13:47

          ????關(guān)注后回復(fù) “進(jìn)群” ,拉你進(jìn)程序員交流群????


          作者丨Huangwei AI
          來源丨Python學(xué)會


          前言


          當(dāng)你學(xué)習(xí)不熟悉的新東西的時(shí)候,一旦發(fā)現(xiàn)某樣?xùn)|西有效,那么你就會堅(jiān)持使用它而放棄探索更多的可能性。在Python中,那樣?xùn)|西就是列表。


          使用列表的感覺就像是在一直重復(fù)你最喜歡的特別動(dòng)作。


          然后Python不止列表,還有元組和集合。讓我們回顧一下這些特殊的數(shù)據(jù)類型,并且說明在什么情境下應(yīng)該使用它們而不是列表。




          元組



          元組是不變的有序項(xiàng)目序列。最后一個(gè)詞——不可變——是這里的秘密武器。一旦定義了元組,就不能更改它。


          使用元組的語法幾乎與列表相同,只是使用了括號而不是方括號。此外,還可以將列表轉(zhuǎn)換為元組。


          # how to define a listnum_list = [1,2,3,4]# how to define a tuplenum_tuple = (1,2,3,4)# use tuple() to convertnum_convert = tuple(num_list)


          不可變有什么特別之處呢?一開始可能會覺得不方便;但是,每次使用元組而不是列表時(shí),您都會做兩件事。


          • 編寫更加語義化和安全的代碼。當(dāng)您將變量定義為元組時(shí),您是在告訴自己和代碼的任何其他查看者:“這不會改變”。為了防止您遺漏了備注,任何修改變量的嘗試都會遇到一個(gè)錯(cuò)誤。


          • 改善性能。遍歷元組將比遍歷列表更快。元組比列表的內(nèi)存效率更高。由于元組中的項(xiàng)數(shù)沒有變化,因此它的內(nèi)存占用更簡潔。


          如果您的列表的大小沒有被修改,或者其目的僅僅是用于迭代,那么嘗試用元組替換它。





          集合


          集合是無序的、唯一的項(xiàng)集合。集合不能有重復(fù)值,這就是它與列表的區(qū)別。


          若要定義集合,請使用大括號括起以逗號分隔的項(xiàng)列表。不要將其與創(chuàng)建具有鍵-值對的字典混淆。與元組一樣,可以通過轉(zhuǎn)換另一種數(shù)據(jù)類型來創(chuàng)建集合。


          # how to define a listnum_list = [1,2,3,4]# how to define a setnum_set = {1, 2, 3, 4}# use set() to convertnum_convert = set(num_list)


          那么,如果兩項(xiàng)完全相同會發(fā)生什么呢?


          nums = {1,2,3,4,4}print(nums) # 1,2,3,4


          如您所見,第二個(gè)4被刪除了。如果原始值是重復(fù)項(xiàng)的列表,也會發(fā)生同樣的情況。


          那么,為什么要使用集合而不是列表呢?首先,轉(zhuǎn)換為集合是刪除重復(fù)值的最簡單方法。此外,與任何數(shù)據(jù)類型一樣,set有自己的一組方法。


          在比較多個(gè)集合時(shí),集合是非常有用的——想想維恩圖。union()、intersection()和difference()函數(shù)將分別告訴您兩個(gè)集合之間的組合值、共享值和不同值。




          總結(jié)


          Python就是要為每個(gè)問題找到合適的工具。


          雖然列表是舒適的,可靠的,并在早期學(xué)習(xí),可能有一個(gè)更好的工具。


          開始使用元組來更快地處理和保護(hù)已聲明的數(shù)據(jù)結(jié)構(gòu)。開始使用集合來確保值的惟一性并利用比較方法。



          -End-

          最近有一些小伙伴,讓我?guī)兔φ乙恍?nbsp;面試題 資料,于是我翻遍了收藏的 5T 資料后,匯總整理出來,可以說是程序員面試必備!所有資料都整理到網(wǎng)盤了,歡迎下載!

          點(diǎn)擊??卡片,關(guān)注后回復(fù)【面試題】即可獲取

          在看點(diǎn)這里好文分享給更多人↓↓

          瀏覽 14
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产乱伦视频一区二区 | 18禁黄色成人网站 | re在线精品视频 | 黄色中文字幕 | 欧美黄色电影在线观看 |