九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Python基礎(chǔ)篇 - 一文搞定Python數(shù)據(jù)結(jié)構(gòu)tuple和set

01 如何選擇合適的數(shù)據(jù)結(jié)構(gòu)?為什么這很重要?

編程語言中的數(shù)據(jù)結(jié)構(gòu)是用來整理和存儲(chǔ)數(shù)據(jù)。數(shù)據(jù)結(jié)構(gòu)自身內(nèi)部就定義了很多方法用來處理數(shù)據(jù),不同的數(shù)據(jù)結(jié)構(gòu)擁有不能的優(yōu)勢,這篇文章就大概的過一遍Python中非常重要的數(shù)據(jù)結(jié)構(gòu)。

首先,一定要明確一點(diǎn),數(shù)據(jù)結(jié)構(gòu)的選擇是基于對數(shù)據(jù)和項(xiàng)目最終目的的整體考量。不合適的數(shù)據(jù)結(jié)構(gòu)可能會(huì)導(dǎo)致更長的處理時(shí)間、更多的內(nèi)存占用等等。

02 Python中的數(shù)據(jù)結(jié)構(gòu)

Python中用途最廣泛的數(shù)據(jù)結(jié)構(gòu)有以下幾種:

  • tuple
  • str
  • range
  • list
  • dict
  • set

我們一起來過一遍tuple和set使用方法吧!

tuple 元組

tuple這個(gè)數(shù)據(jù)結(jié)構(gòu)是被小括號(hào)包圍的一組數(shù)據(jù),并且它有一個(gè)重要的屬性,一旦被定義,不可以被更改。

tuple元組的定義

圖1

如圖1所示,我們定義了兩個(gè)變量a和b,至于區(qū)別只是b的數(shù)據(jù)后面加了一個(gè)逗號(hào)。如果不加逗號(hào),a的 數(shù)據(jù)類型被定義成了整數(shù)型。加了逗號(hào),Python則會(huì)默認(rèn)將數(shù)據(jù)類型設(shè)置為tuple。在圖2中,展示了幾種常用的定義tuple的方法。

圖2

tuple內(nèi)數(shù)據(jù)的調(diào)用

圖3

len()函數(shù)可以返回tuple數(shù)據(jù)結(jié)構(gòu)中一共有多少個(gè)數(shù)據(jù),我們注意到tuple數(shù)據(jù)結(jié)構(gòu)中并不需要所有的數(shù)據(jù)格式是一樣的。使用print()將tuple元組的數(shù)據(jù)個(gè)數(shù)打印出來,并且通過a[i]的形式調(diào)用每一個(gè)數(shù)據(jù)。

a[i]中的下標(biāo)i是從0開始的,也就是說a中的1,2,‘逃學(xué)博士’分別對應(yīng)的下標(biāo)為0,1,2。

tuple數(shù)據(jù)一旦創(chuàng)建,無法更改

繼續(xù)拿a舉例,如果我們想要改變tuple a中的數(shù)據(jù),比方說a[0],我們是不是可以這么做呢?

圖4

我們試圖將數(shù)值5賦值給a[0],但是系統(tǒng)報(bào)錯(cuò)顯示tuple不支持賦值,也就是a[0]無法被修改。這也是tuple最重要的屬性之一,tuple的好處就是數(shù)據(jù)安全性高。

tuple數(shù)據(jù)一旦創(chuàng)建,真的不能修改嗎?

其實(shí),tuple的數(shù)據(jù)無法修改也不是百分之百的。如圖5

圖6

a中的最后一個(gè)數(shù)據(jù)為list,a[2][0]則會(huì)指定為‘逃學(xué)博士’。如果對a[2][0]進(jìn)行賦值,我們發(fā)現(xiàn)tuple 元組a的數(shù)據(jù)變了。原因在于我們無法直接賦值給a[2],因?yàn)閍[2]是元組a的數(shù)據(jù)。但是,a[2]是一個(gè)list,而list的數(shù)據(jù)是可以被修改的,因此調(diào)用a[2][0]是可以直接修改list里面的內(nèi)容。

集合 set

集合set是用大括號(hào)將數(shù)據(jù)包裹起來,如圖7所示。

圖7

那么,集合set最重要的屬性是什么呢?集合set中是無法包含重復(fù)的數(shù)據(jù)。如圖8,我們先定義一個(gè)list [1, 2, 3, 4, 1, 2, 3]。其中1, 2, 3是重復(fù)出現(xiàn)的。如果有一個(gè)項(xiàng)目需要我們?nèi)ゲ檎疫@個(gè)數(shù)據(jù)中一共出現(xiàn)的多少個(gè)數(shù)據(jù),不包括重復(fù)的,就可以用到set集合了。

圖8

向集合set中添加和刪除數(shù)據(jù)是被允許的。添加數(shù)據(jù)使用add()函數(shù),刪除函數(shù)使用remove()函數(shù)。

圖9

圖9中,我們給集合b添加了兩次數(shù)據(jù)5。但是,由于set無法擁有兩個(gè)重復(fù)的數(shù)據(jù)。因此,第二次被忽略了,而且系統(tǒng)不會(huì)報(bào)錯(cuò)。

圖10

調(diào)用remove()函數(shù),我們第一次調(diào)用去掉了集合b中的數(shù)字5。但是第二次調(diào)用remove()系統(tǒng)顯示報(bào)錯(cuò),這是因?yàn)榧蟗中這時(shí)候已經(jīng)沒有我們要去除的5了。

總結(jié)

數(shù)據(jù)結(jié)構(gòu)還有很多,集合set和元組tuple中的調(diào)用方法也還有很多。這篇文章想說的是幾個(gè)要注意的比較有意思的點(diǎn)。謝謝大家耐心的看完。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
15個(gè)例子掌握Python列表,集合和元組
Python基本數(shù)據(jù)結(jié)構(gòu):深入探討列表、元組、集合和字典
筆試
Python常見數(shù)據(jù)結(jié)構(gòu)詳解
Python學(xué)習(xí)教程:Python數(shù)據(jù)結(jié)構(gòu)精講
python( 模塊、字符串和常用數(shù)據(jù)結(jié)構(gòu))
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服