>>L1=[1,2,3]>>>L1[1,2,3]>>>L2=['abc']>>>L2['abc']>>>L3=["a","b","c"]>>>L3" />

黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Python中常見(jiàn)的數(shù)據(jù)類型小結(jié)

系統(tǒng) 2021 0

Python提供多種數(shù)據(jù)類型來(lái)存放數(shù)據(jù)項(xiàng)集合,主要包括序列(列表list和元組tuple),映射(如字典dict),集合(set),下面對(duì)這幾種一一介紹:

一 序列

1.列表list

列表是一種有序的集合,相對(duì)于元組和字符串的不同是它其中的元素可變,可以隨時(shí)添加和刪除其中的元素。

(1)創(chuàng)建list

在命令行中測(cè)試,如下:

            
>>> L1 = [1,2,3]
>>> L1
[1, 2, 3]
>>> L2 = ['abc']
>>> L2
['abc']
>>> L3 = ["a","b","c"]
>>> L3
['a', 'b', 'c']
          

注意,字符串的一定要加引號(hào)。

通過(guò)list對(duì)字符串創(chuàng)建列表非常有效,比如:

            
>>> L = list("Python")
>>> L
['P', 'y', 't', 'h', 'o', 'n']

          

(2)訪問(wèn)list

根據(jù)索引來(lái)訪問(wèn),注意不能越界,這一點(diǎn)跟數(shù)組特別像:

            
>>> L[0]
'P'
>>> L[-1]
'n'
          

(3)添加新元素

用append()方法,把新元素追加到list的末尾;insert()可以將一個(gè)新元素添加到特定的位置。

(4) 刪除元素

刪除元素可以采用pop()方法,執(zhí)行L.pop()刪除list的最后一個(gè)元素,如果是特定位置的話可以采用pop(2),2表示的是位置。

(5)替換

替換很簡(jiǎn)單,直接索引就可以。

(6)打印

            
>>> L = ['a','b','c']
>>> for i in L:
 print(i) 
a
b
c
          

2. tuple

(1)創(chuàng)建

與list所不同的是,tuple一般采用()括起來(lái),命令行中測(cè)試,如下:

            
T= 1,2,3
>>> T
(1, 2, 3)
>>> T = (1,2,3)
>>> T
(1, 2, 3)
>>> T = "abc"
>>> T
'abc'
          

創(chuàng)建空元組:T = ()

定義一個(gè)元素的元組:

>>> T = (1)
>>> T
1
這樣運(yùn)行了結(jié)果是對(duì)的,看起來(lái)也沒(méi)錯(cuò),但是這種定義其實(shí)并不正確,這種定義的不是tupel,而是1這個(gè)數(shù),這是因?yàn)槔ㄌ?hào)()既可以表示tuple,又可以表示數(shù)學(xué)公式中的小括號(hào),這就產(chǎn)生了歧義,因此,Python規(guī)定,這種情況下,按小括號(hào)進(jìn)行計(jì)算,計(jì)算結(jié)果自然是1。所以定義含一個(gè)元素的元組時(shí)必須加一個(gè)逗號(hào),如下:

            
>>> T = (1,)
>>> T
(1,)
          

(2)訪問(wèn)

直接索引就好,如下:

            
>>> T =(1,2,3)
>>> T[1]
2
          

(3)更改

上述定義的tuple是不變的,但是我們可以在tuple中定義list對(duì)其進(jìn)行修改:

            
>>> T = (1,2,['a','b'])
>>> T[2][0]
'a'
>>> T[2][0] = 'c'
>>> T
(1, 2, ['c', 'b'])
          

在tuple中,雖然元素不可以修改,但是我們可以對(duì)其進(jìn)行連接組合:

            
>>> T1 = [1,2,3]
>>> T2 = [4,5,6]
>>> T3 = T1 + T2
>>> T3
[1, 2, 3, 4, 5, 6]
          

3.字符串

(1)創(chuàng)建

            
>>> str = "Hello Python"
>>> str
'Hello Python'
          

(2)訪問(wèn)

            
>>> str[0]

'H'

          

(3)相加

            
>>>str = "hello "
>>>str = "Python"
>>> str3 = str1 + str2
>>> str3

'Hello Python'
          

4.通用的序列操作方法

(1)索引

在訪問(wèn)序列元素中用到,如下:

            
>>> L = ['a','b','c']
>>> L[1]

'b'

>>> T = (1,2,3)
>>> T[0]

1

>>> str = "Python"
>>> str[4]

'o'


          

(2)分片

分片用來(lái)訪問(wèn)一定范圍內(nèi)的元素,分片通常通過(guò)冒號(hào)相隔的兩個(gè)索引來(lái)實(shí)現(xiàn),常見(jiàn)的有如下幾種:

            
>>> a = list(range(10))
>>> a

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> b = a[1:5]
>>> b

[1, 2, 3, 4]
>>> c = a[-3:-1]
>>> c

[7, 8]
>>> d = a[1:10:2]
>>> d

[1, 3, 5, 7, 9]

          


二 映射(字典)

映射中的每個(gè)元素都有一個(gè)專業(yè)的名字,叫做鍵。字典是Python中唯一內(nèi)建的映射類型,下來(lái)我們對(duì)其進(jìn)行詳細(xì)介紹:

(1)鍵類型

字典(dict)是一個(gè)存放無(wú)序的鍵值映射(key/value)類型數(shù)據(jù)的容器字典的鍵可以是數(shù)

字、字符串或者是元組,鍵必須唯一。在Python中,數(shù)字、字符串和元組都被設(shè)計(jì)成不可變類型,而常見(jiàn)的列表以及集合(set)都是可變的,所以列表和集合不能作為字典的鍵。鍵可以為任何不可變類型,這正是Python中的字典最強(qiáng)大的地方。

(2)創(chuàng)建

            
>>> d = {}
>>> d[1] = 1
>>> d

{1: 1}
>>> d['cat'] = 'Lucy'
>>> d

{1: 1, 'cat': 'Lucy'}

          

(3)查找

dict是通過(guò)key來(lái)查找value,表示的是意義對(duì)應(yīng)的關(guān)系,可以通過(guò)d[key]的方式來(lái)訪問(wèn)dict:

            
>>> d['cat']

'Lucy'

          

(4)遍歷

            
>>> d = {}
>>> d['cat'] = 'Lucy'
>>> d['dog'] = 'Ben'
>>> for key in d:

print(key + ":",d[key])
          

結(jié)果

            
cat: Lucy

dog: Ben

          

(5)優(yōu)缺點(diǎn)

dict的第一個(gè)特點(diǎn)是查找速度快,而且查找的速度與元素的個(gè)數(shù)無(wú)關(guān),而list的查找速度是隨著元素的增加而逐漸下降的;第二個(gè)特點(diǎn)是存儲(chǔ)的key-value序?qū)κ菦](méi)有順序的;第三個(gè)特點(diǎn)是作為key得到元素是不可變的,所以list不能作為key。

dict的缺點(diǎn)是占用內(nèi)存大,還會(huì)浪費(fèi)很多內(nèi)容。
三 集合(set)

dict是建立了一系列的映射關(guān)系,而set是建立一系列無(wú)序的,不重復(fù)的元素。

(1)創(chuàng)建

創(chuàng)建set的方式是調(diào)用set()并傳入一個(gè)list,list的元素將作為set的元素。

            
>>> S = set([1,2,3])
>>> S

{1, 2, 3}
          

重復(fù)元素在Set中自動(dòng)過(guò)濾,如:

            
>>> S = set([1,1,2,3,4,5,4])
>>> S

{1, 2, 3, 4, 5}

          

(2)添加

add()添加,有重復(fù)元素可以添加,但不會(huì)有效果:

            
>>> S.add(4)
>>> S

{1, 2, 3, 4, 5}

>>> S.add(9)
>>> S

{1, 2, 3, 4, 5, 9}

          

(3)刪除

>>> S.remove(9)
>>> S

{1, 2, 3, 4, 5}
(4)交集,并集

set可以看成數(shù)學(xué)意義上的無(wú)序和無(wú)重復(fù)元素的集合,因此,兩個(gè)set可以做數(shù)學(xué)意義上的交集、并集:

            
>>> S1 = set([1,2])
>>> S2 = set([2,3])
>>> S1&S2

{2}
>>> S1|S2

{1, 2, 3}
          

set和dict的唯一區(qū)別僅在于沒(méi)有存儲(chǔ)對(duì)應(yīng)的value,但是,set的原理和dict一樣,所以,同樣不可以放入可變對(duì)象,因?yàn)闊o(wú)法判斷兩個(gè)可變對(duì)象是否相等,也就無(wú)法保證set內(nèi)部“不會(huì)有重復(fù)元素”

四 list,tuple,dict和set的主要區(qū)別

1 .list

list是一個(gè)使用方括號(hào)括起來(lái)的有序元素集合;

List 可以作為以 0 下標(biāo)開(kāi)始的數(shù)組,任何一個(gè)非空 list 的第一個(gè)元素總是 L[0],負(fù)數(shù)索引從 list 的尾部開(kāi)始向前計(jì)數(shù)來(lái)存取元素。任何一個(gè)非空的 list 最后一個(gè)元素總是 L[-1];

有分片功能,兩個(gè)list可以相加;

append 向 list 的末尾追加單個(gè)元素;

insert 將單個(gè)元素插入到 list 中;

extend 用來(lái)連接 list,使用一個(gè) list 參數(shù)進(jìn)行調(diào)用;

append 接受一個(gè)參數(shù), 這個(gè)參數(shù)可以是任何數(shù)據(jù)類型, 并且簡(jiǎn)單地追加到 list 的尾部;

index 在 list 中查找一個(gè)值的首次出現(xiàn)并返回索引值;

要測(cè)試一個(gè)值是否在 list 內(nèi), 使用 in, 如果值存在, 它返回 True, 否則返為 False ;

remove 從 list 中刪除一個(gè)值的首次出現(xiàn);

pop 可以刪除 list 的最后一個(gè)元素, 然后返回刪除元素的值,用索引刪除制定位置的值;?

2.tuple

tuple是不可變的list,創(chuàng)建了一個(gè)tuple就不能以任何方式改變它;

定義tuple是將整個(gè)元素集是用小括號(hào)括起來(lái),是有序集合;

tuple的索引與list一樣從0開(kāi)始,所以一個(gè)非空的tuple的第一個(gè)元素總是t[0];

負(fù)數(shù)索引與 list 一樣從 tuple 的尾部開(kāi)始計(jì)數(shù);

與 list 一樣分片 (slice) 也可以使用。分割一個(gè) tuple 時(shí), 會(huì)得到一個(gè)新的 tuple;

沒(méi)有 append、extend、remove或pop方法以及index方法;

可以使用in來(lái)查看一個(gè)元素是否存在于tuple 中。

3.dict

dict定義了鍵和值之間的一一對(duì)應(yīng)關(guān)系,每個(gè)元素都是一個(gè)key-value對(duì);

整個(gè)元素集合用大括號(hào)括起來(lái),有序集合;

可以通過(guò) key 得到value, 但不能通過(guò)vaule獲取 key;

在一個(gè) dict中不能有重復(fù)的 key, 并且 key 是大小寫(xiě)敏感的;

鍵可以是數(shù)字、字符串或者是元組等不可變類型;

用del使用key可以刪除dict中的獨(dú)立元素;

用clear可以清除dict中的所有元素。

4.set

set是建立一系列無(wú)序的,不重復(fù)的元素;

創(chuàng)建set的方式是調(diào)用set()并傳入一個(gè)list,list的元素將作為set的元素;

set和dict的唯一區(qū)別僅在于沒(méi)有存儲(chǔ)對(duì)應(yīng)的value。

以上是就是對(duì)Python數(shù)據(jù)類型的全部總結(jié),希望對(duì)大家的學(xué)習(xí)有所幫助。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論