python中的數(shù)據(jù)類(lèi)型

python中的四種數(shù)據(jù)類(lèi)型

列表

  • 定義
    列表是一種有序的集合,可以隨時(shí)添加和刪除其中的元素
    變量 = ["數(shù)據(jù)","數(shù)據(jù)1" ....]

通過(guò)列表可以實(shí)現(xiàn)數(shù)據(jù)的

  • 增刪改查
    可以在命令行使用

列表中的各種操作

dir(list)

查看列表的常見(jiàn)操作函數(shù)

  • 查詢數(shù)據(jù):

根據(jù)下標(biāo)獲取列表中的某個(gè)數(shù)據(jù)

image.png
  • 查詢某個(gè)指定數(shù)據(jù)在列表中的位置:

L.index("數(shù)據(jù)")

  • 修改數(shù)據(jù):

根據(jù)下標(biāo)直接修改

L[2] = "數(shù)據(jù)"

還可以先查詢數(shù)據(jù)的位置

index = L.index("數(shù)據(jù)")

L[index] = "數(shù)據(jù)1"
  • 刪除數(shù)據(jù):

L.pop() 刪除列表中最后一個(gè)元素

L.remove("數(shù)據(jù)") 刪除列表中指定的數(shù)據(jù)

  • 增加數(shù)據(jù):
L.append("數(shù)據(jù)") 在列表末尾追加數(shù)據(jù)

L.insert(0, "數(shù)據(jù)") 在列表指定位置增加數(shù)據(jù)

reverse() 函數(shù)用于反向列表中元素

L.reverse()

該方法沒(méi)有返回值,但是會(huì)對(duì)列表的元素進(jìn)行反向排序。

  • sort()方法用于數(shù)組排序

L.sort()

字典(dict):

在python中也提供了內(nèi)置的映射類(lèi)型--字典。映射其實(shí)就是一組key和value以及之間的映射函數(shù),其特點(diǎn)是:key的唯一性、key與value的一對(duì)多的映射。

1.字典的創(chuàng)建

  字典的基本形態(tài)dic={key1:value1, key2:value2...}

  創(chuàng)建方式1:直接型。

        dict1={}  

        dict2={‘name’:'earth','port':'80'}

  創(chuàng)建方式2:使用工廠方法dict,通過(guò)其他映射(例如字典)或者(鍵,值)這樣的序列對(duì)建立

        items=[('name','earth'),('port','80')]

        dict2=dict(items)

        dict1=dict((['name','earth'],['port','80']))

  創(chuàng)建方式3:使用內(nèi)建方法fromkeys()創(chuàng)建’默認(rèn)‘字典,字典中元素具有相同的value(如果沒(méi)有給出,默認(rèn)為none)

        dict1={}.fromkeys(('x','y'),-1)

        #dict={'x':-1,'y':-1}

        dict2={}.fromkeys(('x','y'))

        #dict2={'x':None, 'y':None}
image.png

2.訪問(wèn)字典中的值

  最常用和基本的莫過(guò)于利用key訪問(wèn)value了

  a.通過(guò)key訪問(wèn)value之get方法

       dict1.get('name')#也可以直接是dictionary['key1'],但是當(dāng)key1不存在其中時(shí),會(huì)報(bào)錯(cuò);此時(shí)用get則返回None

  b.隨機(jī)訪問(wèn)其中鍵值對(duì)

       字典中是無(wú)序的,利用popitem方法是隨機(jī)彈出一個(gè)鍵值對(duì)

  c.返回字典所有值的列表

       方法values

3.訪問(wèn)字典中的key

  a.檢查是否含有key1

     #dictionary.has_key(key1) 

     key1 in dictionarty

     key1 not dictionary

  b.返回字典中鍵的列表

     dictionary.keys()

查詢數(shù)據(jù):

x = p["name"]

x = p.get("name")

4.訪問(wèn)鍵值對(duì)

  a.遍歷方式

     for r in dicitonary  #r是dictionary中的鍵值對(duì)

b.修改(更新)或添加

     p["name"] = value

p["name"] = value

刪除

  a.按key刪除

     del dictionary[key1]

b.刪除并返回

     dictionary.pop(key1)

  c.刪除所有項(xiàng)

     dictionary.clear()

     del dictionary

6.排序



 sorted(dic.iteritems(), key=lambda d:d[1] reverse=False)

 說(shuō)明:對(duì)字典dic中的元素按照d[1](d[1]是value,d[0]是key,和d沒(méi)關(guān)系,可以改為a什么的)進(jìn)行升序排序,通過(guò)設(shè)置reverse的True或False可以進(jìn)行逆序,并返回排序后的字典(該排序后的字典由元組組成,其形式為[(key1,value1),(key2,value2),...],且原字典保持不變)

7.其他

  len(dictionary) #返回字典項(xiàng)個(gè)數(shù)

  dictionary.item()

  dictionary.iteritems()

元組(tuple):

出現(xiàn)的意義:

為了表示現(xiàn)實(shí)生活中,比較固定的數(shù)據(jù),出現(xiàn)了元組的概念

元組的特點(diǎn):

也可以存儲(chǔ)多個(gè)數(shù)據(jù),但是一旦聲明并且賦值,不允許修改數(shù)據(jù)

元組的聲明:

通過(guò)一對(duì)小括號(hào)進(jìn)行聲明

t = (“春”, “夏”, “秋”, “冬”)

元組中出現(xiàn)的函數(shù):

count():查詢指定的數(shù)據(jù)出現(xiàn)的次數(shù)

index():查詢指定的數(shù)據(jù)出現(xiàn)的位置

注意:聲明一個(gè)只包含一個(gè)整數(shù)的元組和一個(gè)空元組

  • 聲明一個(gè)只包含一個(gè)整數(shù)的元組,切記 x = (12,)

  • 聲明一個(gè)空元組,可以直接使用(),如:x = ()

  • tuple()可以用來(lái)聲明一個(gè)元組,同時(shí)也可以將其他的組合類(lèi)型轉(zhuǎn)換成元組

面試題:元組中的數(shù)據(jù)不是不能更改嗎?我可以更改數(shù)據(jù),請(qǐng)嘗試解釋

>>> a = ([1,2], [1,2])

>>> a

([1, 2], [1, 2])

>>> a[0][0] = 10

>>> a

([10, 2], [1, 2])

集合(set):

集合是一個(gè)保存多個(gè)數(shù)據(jù)的數(shù)據(jù)類(lèi)型。

注意:set中不能存放重復(fù)數(shù)據(jù),數(shù)據(jù)沒(méi)有順序

要?jiǎng)?chuàng)建一個(gè)集合,需要提供一個(gè)List作為一個(gè)輸入集合

例如:s = set([1, 2, 3])

>>> {1, 2, 3}

聲明一個(gè)集合:set = {1,2,3}

空集合 s=set()

增:

add()增加一個(gè)數(shù)據(jù)到集合中

改:

無(wú)法修改數(shù)據(jù)

可以通過(guò)remove + add結(jié)合來(lái)實(shí)現(xiàn)

查:

無(wú)法查詢單個(gè)數(shù)據(jù)

for + if 查詢 并獲取某個(gè)數(shù)據(jù)

成員運(yùn)算符,來(lái)查詢是否包含某個(gè)數(shù)據(jù)

只能通過(guò)循環(huán)遍歷數(shù)據(jù)

刪除:

pop() 刪除隨機(jī)一條數(shù)據(jù)

remove(x) 刪除指定的數(shù)據(jù)(如果數(shù)據(jù)不存在會(huì)報(bào)錯(cuò))

discard(x) 刪除指定的數(shù)據(jù)(如果不存在,沒(méi)有事情發(fā)生

根據(jù)具體的功能來(lái)確定,如果刪除數(shù)據(jù)不需要出現(xiàn)錯(cuò)誤提示,使用discard如果刪除數(shù)據(jù)需要出現(xiàn)錯(cuò)誤提示,使用remove()

類(lèi)型的轉(zhuǎn)換

  • list轉(zhuǎn)字符串

  • tuple轉(zhuǎn)字符串

    轉(zhuǎn)換

    列表和元組轉(zhuǎn)化為字符串必須依靠join函數(shù)
    image.png

    直接使用str()會(huì)在最外層加個(gè)雙引號(hào)。

  • 字典轉(zhuǎn)換為字符串
    使用str()

  • 字符串轉(zhuǎn)化為字典
    使用eval()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容