欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)類型

 更新時(shí)間:2022年01月25日 10:04:31   作者:柳小蔥  
這篇文章主要介紹了python數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)類型,在?Python?以及其他所有面向?qū)ο缶幊陶Z(yǔ)言中,類都是對(duì)數(shù)據(jù)的構(gòu)成(狀態(tài))以及數(shù)據(jù)?能做什么(行為)的描述,下面我們就來(lái)你看看python數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)類型商務(wù)詳細(xì)介紹,需要的小伙伴可以參考一下

1.數(shù)據(jù)是什么?

Python 以及其他所有面向?qū)ο缶幊陶Z(yǔ)言中,類都是對(duì)數(shù)據(jù)的構(gòu)成(狀態(tài))以及數(shù)據(jù) 能做什么(行為)的描述。由于類的使用者只能看到數(shù)據(jù)項(xiàng)的狀態(tài)和行為,因此類與抽象數(shù)據(jù)類 型是相似的。在面向?qū)ο缶幊谭妒街?,?shù)據(jù)項(xiàng)被稱作對(duì)象。一個(gè)對(duì)象就是類的一個(gè)實(shí)例。

2.數(shù)據(jù)類型

2.1內(nèi)建原子數(shù)據(jù)類型

Python 有兩大內(nèi)建數(shù)據(jù)類實(shí)現(xiàn)了整數(shù)類型和浮點(diǎn)數(shù)類型,相應(yīng)的 Python 類就是 int float。標(biāo)準(zhǔn)的數(shù)學(xué)運(yùn)算符,即+、-、*、/以及**(冪),可以和能夠改變運(yùn)算優(yōu)先級(jí)的括號(hào)一起使用。其他非常有用的運(yùn)算符包括取余(取模)運(yùn)算符%,以及整除運(yùn)算符//。注意,當(dāng)兩個(gè)整數(shù)相除時(shí),其結(jié)果是一個(gè)浮點(diǎn)數(shù),而整除運(yùn)算符截去小數(shù)部分,只返回商的整數(shù)部分。
Python 通過(guò) bool 類實(shí)現(xiàn)對(duì)表達(dá)真值非常有用的布爾數(shù)據(jù)類型。布爾對(duì)象可能的狀態(tài)值是 True 或者 False,布爾運(yùn)算符有 and、or 以及 not。

其實(shí)這一章最想讓大家知道的變量賦值的問(wèn)題:

 theSum = 0

賦值語(yǔ)句 theSum = 0 會(huì)創(chuàng)建變量 theSum,并且令其保存指向數(shù)據(jù)對(duì)象 0 的引用。Python 會(huì)先計(jì)算賦值運(yùn)算符右邊的表達(dá)式,然后將指向該結(jié)果數(shù)據(jù)對(duì)象的引用賦給左 邊的變量名。在本例中,由于 theSum 當(dāng)前指向的數(shù)據(jù)是整數(shù)類型,因此該變量類型為整型。

如果數(shù)據(jù)發(fā)生了變化怎么辦,比如:

theSum=True


這個(gè)時(shí)候變量的類型也會(huì)變成布爾類型。賦值語(yǔ)句改變了變量的引用,這體現(xiàn)了 Python 的動(dòng)態(tài)特性。同樣的變量 可以指向許多不同類型的數(shù)據(jù)。

2.2 內(nèi)建集合數(shù)據(jù)類型

除了數(shù)值類和布爾類,python還有眾多強(qiáng)大的內(nèi)建集合類。我們將它們分為兩類:

  • 有序集合:列表、字符串、元祖
  • 無(wú)需集合:集合、字典

說(shuō)明一下,有序集合中有些方法是可以相互通用的,因?yàn)樗鼈兊男再|(zhì)很相似。無(wú)需集合也是一樣,但是它們都是屬于數(shù)據(jù)集合,會(huì)有一些大家公共的方法。

3.集合數(shù)據(jù)類型的方法

這一章節(jié)主要講述列表、字符串、元祖、集合、字典各自的內(nèi)置函數(shù)。
在這之前先介紹一下range函數(shù)。
range 是一個(gè)常見(jiàn)的 Python 函數(shù),我們常把它與列表放在一起討論。range 會(huì)生成一個(gè)代 表值序列的范圍對(duì)象。使用 list 函數(shù),能夠以列表形式看到范圍對(duì)象的值。
rang的一些用法。

range(10)#默認(rèn)從0開(kāi)始
#結(jié)果range(0, 10)
list(range(10))
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(5,10)
#結(jié)果range(5, 10)
list(range(5,10))
#[5, 6, 7, 8, 9]
list(range(5,10,2))
#[5, 7, 9]
list(range(10,1,-1))
#[10, 9, 8, 7, 6, 5, 4, 3, 2]

3.1 列表

列表是零個(gè)或多個(gè)指向 Python 數(shù)據(jù)對(duì)象的引用的有序集合,通過(guò)在方括號(hào)內(nèi)以逗號(hào)分隔的一 系列值來(lái)表達(dá)??樟斜砭褪荹]。列表是異構(gòu)的,這意味著其指向的數(shù)據(jù)對(duì)象不需要都是同一個(gè)類, 并且這一集合可以被賦值給一個(gè)變量。

舉例:

#列表
mylist=[1,3,True,6.5]
#結(jié)果:[1, 3, True, 6.5]
mylist[0]
#結(jié)果 1
mylist[2]+mylist[1]
#結(jié)果 4
mylist[1:3]#只顯示index為1,2
#結(jié)果 [3, True]
for i in mylist:
    print(i)
#結(jié)果 

True
6.5
mylist.append(9)
#[1, 3, True, 6.5, 9]
mylist.insert(1,2)#在index為1的位置插入2
#[1, 2, 3, True, 6.5, 9]
mylist.pop()#刪除并返回最后一個(gè)數(shù)
# 結(jié)果 9
mylist.pop(1)#刪除并返回index為1的數(shù)
#結(jié)果 2
mylist.sort()#排序
#[1, True, 3, 6.5]
mylist.reverse()#反轉(zhuǎn)數(shù)組
#[6.5, 3, True, 1]
del mylist[1]#刪除index為1的元素
mylist.index(1)# 返回元素為1的元素下標(biāo)
mylist.insert(1,9)#在index位置插入元素9
mylist.count(9)#返回9在數(shù)組中出現(xiàn)的次數(shù)
mylist.remove(9)#移除元素9

3.2 字符串

字符串是零個(gè)或多個(gè)字母、數(shù)字和其他符號(hào)的有序集合。這些字母、數(shù)字和其他符號(hào)被稱為 字符。常量字符串值通過(guò)引號(hào)(單引號(hào)或者雙引號(hào)均可)與標(biāo)識(shí)符進(jìn)行區(qū)分。

舉例:

myname="aaron"
#結(jié)果 aaron
myname.upper()#轉(zhuǎn)化大寫(xiě)
#結(jié)果 'AARON'
myname.center(10)#填充空格
#結(jié)果為'  aaron   '
myname.find("r")
#結(jié)果為 2
myname.split("r")#分割子串,如果沒(méi)有提供分隔字符,那么 split 方法將會(huì)尋找如制表符、換行符和空格等空白字符。
#結(jié)果為 ['aa', 'on']

總結(jié):列表和字符串的主要區(qū)別在于,列表能夠被修改,字符串則不能。列表的這一特性被稱為可修改性。列表具有可修改性,字符串則不具有。例如,可以通過(guò)使用下標(biāo)和賦值操作來(lái)修改列表中的一個(gè)元素,但是字符串不允許這一改動(dòng)。

看一下:

3.3 元祖

元組與列表非常相似。它們的區(qū)別在于,元組和字符串一樣是 不可修改的。元組通常寫(xiě)成由括號(hào)包含并且以逗號(hào)分隔的一系列值。與序列一樣,元組允許之前 描述的任一操作。

舉例:

mytuple=(2,True,4.96)
#(2, True, 4.96)
len(mytuple)
#結(jié)果 3
mytuple[2]
#結(jié)果 4.96

注意:元祖不可修改

3.4 集合

集合是由零個(gè)或多個(gè)不可修改的 Python 數(shù)據(jù)對(duì)象組成的無(wú)序集合。集不允許重復(fù)元素, 并且寫(xiě)成由花括號(hào)包含、以逗號(hào)分隔的一系列值。

舉例:

myset={3,6,"dog","cat",False}
#{3, 6, False, 'cat', 'dog'}
len(myset)
#結(jié)果 5
False in myset #false是否在集合中
#結(jié)果 true
'pink' in myset
#結(jié)果 false

舉例:

myset
#{3, 6, False, 'cat', 'dog'}
yourset={99,3,100}
#{3, 99, 100}
myset.union(yourset)#取并級(jí)
#{100, 3, 6, 99, False, 'cat', 'dog'}
myset | yourset#取并集
#{100, 3, 6, 99, False, 'cat', 'dog'}
myset.intersection(yourset)#取交集
#{3}
myset.difference(yourset)#取差集
#{6, False, 'cat', 'dog'}
myset-yourset#取差集
#{6, False, 'cat', 'dog'}
{99,100}.issubset(yourset)#判斷是否為子集
#True
{99,100}<=yourset#判斷是否為子集
#True
myset.add(101)
#{101, 3, 6, False, 'cat', 'dog'}
myset.remove(101)#移除元素
#{3, 6, False, 'cat', 'dog'}
myset.pop()#隨機(jī)移除元素(這里移除了false)
#False
myset.clear()#清空集合
#set()

3.5 字典

字典是無(wú)序結(jié)構(gòu),由相關(guān)的元素對(duì)構(gòu)成,其中每對(duì)元素都由一個(gè)鍵和一個(gè)值組成。這種鍵–值對(duì)通常寫(xiě)成鍵:值的形式。字典由花括號(hào)包含的一系列以逗號(hào)分隔的鍵–值對(duì)表達(dá)。

舉例:

mydict={"name":"aaron","sex":"man"}
#{'name': 'aaron', 'sex': 'man'}
mydict["name"]
#'aaron'
mydict["old"]=18#添加一對(duì)key- value
#{'name': 'aaron', 'sex': 'man', 'old': 18}
len(mydict)
#3
mydict.get("sex")
#'man'
mydict.get("class","不存在")#如果前面的不存在,就返回第二個(gè)
#'不存在'

參考資料:

  • 《python數(shù)據(jù)結(jié)構(gòu)與算法》
  • 《大話數(shù)據(jù)結(jié)構(gòu)》

到此這篇關(guān)于python數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)類型的文章就介紹到這了,更多相關(guān)python數(shù)據(jù)類型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論