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

注意!在Python中不要所有操作都用列表

開(kāi)發(fā) 后端
和許多東西一樣,Python也有一些藏得并不隱蔽的“寶石”,這些“寶石”能夠?yàn)镻ython的愛(ài)好者們提升技能等級(jí),其中有兩個(gè)寶石,它們分別是:元組和集合。

學(xué)習(xí)新事物時(shí),我們常常對(duì)所有可能發(fā)生的情況都不了解。通過(guò)反復(fù)試錯(cuò),我們會(huì)總結(jié)出一個(gè)方法或一個(gè)規(guī)律來(lái)應(yīng)對(duì)新事物可能發(fā)生的問(wèn)題,一旦某個(gè)方法十分有效,我們就會(huì)一直使用這個(gè)方法……

在Python中,這個(gè)方法就是使用列表。

列表十分方便、它的結(jié)構(gòu)清晰靈活。而且學(xué)習(xí)列表推導(dǎo)有著一種純粹的樂(lè)趣,就像是中了數(shù)據(jù)類型中的頭獎(jiǎng)。

使用列表的感覺(jué)就像是在《火影死神大亂斗》游戲中一直使用自己最愛(ài)的特殊招式。

和許多東西一樣,Python也有一些藏得并不隱蔽的“寶石”,這些“寶石”能夠?yàn)镻ython的愛(ài)好者們提升技能等級(jí),其中有兩個(gè)寶石,它們分別是:元組和集合。

現(xiàn)在,讓我們來(lái)看一看這些特殊的數(shù)據(jù)類型,并探討為什么應(yīng)該使用這些數(shù)據(jù)類型而不用列表。

元組

元組是不可變的有序項(xiàng)序列。“不可變”——是它的秘密武器。一旦定義了元組,它就不能被更改。

使用元組的規(guī)則與列表幾乎相同,不同之處只是使用圓括號(hào)而不是方括號(hào)。另外,還可以獲取列表并將其轉(zhuǎn)換為元組。

  1. # how to define a list 
  2. num_list = [1,2,3,4]# how to define a tuple 
  3. num_tuple = (1,2,3,4)# use tuple() to convert 
  4. num_convert = tuple(num_list) 

不可變有什么特別之處?乍一看似乎很不方便;但是,每次恰當(dāng)?shù)厥褂迷M而不是用列表的時(shí)候,其實(shí)是在做兩件事。

  • 編寫(xiě)更多有意義的安全代碼。當(dāng)變量被定義為元組時(shí),就是在告訴自己和代碼的任何其他查看器:“這不會(huì)改變”。為了防止遺漏備忘錄,任何修改變量的嘗試都將出現(xiàn)錯(cuò)誤。
  • 提高性能。迭代元組比迭代列表更快。元組比列表更節(jié)省內(nèi)存。由于元組中的項(xiàng)目數(shù)不變,因此其內(nèi)存占用更為簡(jiǎn)潔。

如果列表的大小未經(jīng)修改,或者其目的只是用于迭代,那么可以嘗試用元組替換。

集合

集合是一個(gè)無(wú)序的、唯一的數(shù)據(jù)項(xiàng)組合。一個(gè)集合不能有重復(fù)值,這就是它與列表的區(qū)別。

若要定義集合,就要用大括號(hào)括起逗號(hào)分隔的項(xiàng)列表。不要和創(chuàng)建具有鍵值對(duì)的詞典相混淆。與元組一樣,可以通過(guò)轉(zhuǎn)換另一種數(shù)據(jù)類型來(lái)創(chuàng)建集合。

  1. # how to define a list 
  2. num_list = [1,2,3,4]# how to define a set 
  3. num_set = {1, 2, 3, 4}# use set() to convert 
  4. num_convert = set(num_list) 

那么如果兩項(xiàng)完全相同會(huì)如何呢?

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

如你所見(jiàn),第二個(gè)“4”被移除了。如果原始值是一個(gè)重復(fù)項(xiàng)列表,也會(huì)發(fā)生同樣的情況。

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

當(dāng)比較多個(gè)集合時(shí),集合是非常有用的,想想維恩圖便可知。還有union()、intersection()和difference()函數(shù)將分別告訴你兩個(gè)集合之間的組合值、共享值和不同值。

[[314735]]

來(lái)源:Pexels

列表用起來(lái)很舒服可靠,但可能還有更好的工具,我們不能停止探索的腳步。

使用元組可以更快地處理并保護(hù)開(kāi)發(fā)者聲明的數(shù)據(jù)結(jié)構(gòu)。使用集合可以確保唯一值并利用比較方法。

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

 

責(zé)任編輯:趙寧寧 來(lái)源: 讀芯術(shù)
相關(guān)推薦

2021-12-09 06:50:11

POST請(qǐng)求接口

2018-07-03 14:00:44

Linux終端script命令

2015-06-19 07:30:35

AWS遷移遺留應(yīng)用云遷移

2020-10-31 21:59:37

Python列表開(kāi)發(fā)

2010-08-19 14:11:29

DB2臨時(shí)表

2010-06-17 16:22:04

SQL Server

2010-08-03 17:00:29

DB2 batch u

2020-04-03 08:30:44

RabbitMQKafka軟件

2009-02-17 10:12:10

ASP面試技術(shù)

2016-09-18 16:13:30

2012-11-19 14:25:07

數(shù)據(jù)中心SDN

2012-11-19 16:32:16

數(shù)據(jù)中心

2022-12-06 08:26:16

SpringAOPthis調(diào)用方法

2010-03-17 13:14:00

Python Libr

2010-07-30 10:11:05

DB2臨時(shí)表

2011-04-11 16:23:57

2009-07-16 13:26:32

Swing增加

2010-03-15 15:38:47

Python運(yùn)行

2018-04-02 09:49:51

數(shù)據(jù)備份

2018-07-12 14:56:11

機(jī)箱裝機(jī)風(fēng)扇
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品久久av | 做a网站| 国产美女精品视频免费观看 | 国产高清视频 | 欧美乱操 | 色欧美综合 | 99这里只有精品视频 | 国产精品久久久久久久久久久久冷 | 国产综合久久 | 在线看日韩 | 日韩有码一区 | 亚洲综合视频 | 欧美黄色网 | 91精品国产一区 | 在线看亚洲 | 久久久久久亚洲精品 | av在线一区二区三区 | 在线欧美小视频 | 成人精品国产一区二区4080 | 青草久久免费视频 | 精品美女视频在线观看免费软件 | 99精品国产一区二区三区 | 伊人伊成久久人综合网站 | 久久国产亚洲 | 亚洲成人精品 | 蜜桃臀av一区二区三区 | 久久成人18免费网站 | 天天干天天爱天天爽 | 欧美一级一 | 国产精品久久久久久久久久免费看 | 欧美激情精品久久久久久变态 | 97精品国产97久久久久久免费 | 久久国 | 99re视频在线 | 国产在线精品一区二区 | 国产最新精品视频 | 91久久久久久久久久久 | 天天草狠狠干 | 在线视频一区二区 | 国产精品毛片久久久久久久 | 欧美综合国产精品久久丁香 |