日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

當你學習不熟悉的新東西的時候,一旦發(fā)現(xiàn)某樣東西有效,那么你就會堅持使用它而放棄探索更多的可能性。在Python/ target=_blank class=infotextkey>Python中,那樣東西就是列表。

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

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

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

 

元組

 

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

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

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

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

  • 編寫更加語義化和安全的代碼。當您將變量定義為元組時,您是在告訴自己和代碼的任何其他查看者:“這不會改變”。為了防止您遺漏了備注,任何修改變量的嘗試都會遇到一個錯誤。
  • 改善性能。遍歷元組將比遍歷列表更快。元組比列表的內(nèi)存效率更高。由于元組中的項數(shù)沒有變化,因此它的內(nèi)存占用更簡潔。

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

 

集合

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

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

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

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

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

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

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

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

 

總結(jié)

 

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

雖然列表是舒適的,可靠的,并在早期學習,可能有一個更好的工具。

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


英文原文:

https://medium.com/better-programming/stop-using-lists-for-everything-in-python-46fad15217f4

分享到:
標簽:Python
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定