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

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

列表

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

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

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

列表中的各種操作

dir(list)

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

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

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

image.png
  • 查詢某個指定數(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() 刪除列表中最后一個元素

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()

該方法沒有返回值纽疟,但是會對列表的元素進(jìn)行反向排序盛泡。

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

L.sort()

字典(dict):

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

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

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

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

        dict1={}  

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

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

        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(如果沒有給出矾飞,默認(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.訪問字典中的值

  最常用和基本的莫過于利用key訪問value了

  a.通過key訪問value之get方法

       dict1.get('name')#也可以直接是dictionary['key1'],但是當(dāng)key1不存在其中時,會報錯呀邢;此時用get則返回None

  b.隨機(jī)訪問其中鍵值對

       字典中是無序的洒沦,利用popitem方法是隨機(jī)彈出一個鍵值對

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

       方法values

3.訪問字典中的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.訪問鍵值對

  a.遍歷方式

     for r in dicitonary  #r是dictionary中的鍵值對

b.修改(更新)或添加

     p["name"] = value

p["name"] = value

刪除

  a.按key刪除

     del dictionary[key1]

b.刪除并返回

     dictionary.pop(key1)

  c.刪除所有項

     dictionary.clear()

     del dictionary

6.排序



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

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

7.其他

  len(dictionary) #返回字典項個數(shù)

  dictionary.item()

  dictionary.iteritems()

元組(tuple):

出現(xiàn)的意義:

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

元組的特點:

也可以存儲多個數(shù)據(jù)钓辆,但是一旦聲明并且賦值剪验,不允許修改數(shù)據(jù)

元組的聲明:

通過一對小括號進(jìn)行聲明

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

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

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

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

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

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

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

  • tuple()可以用來聲明一個元組娶眷,同時也可以將其他的組合類型轉(zhuǎn)換成元組

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

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

>>> a

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

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

>>> a

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

集合(set):

集合是一個保存多個數(shù)據(jù)的數(shù)據(jù)類型届宠。

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

要創(chuàng)建一個集合乘粒,需要提供一個List作為一個輸入集合

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

>>> {1, 2, 3}

聲明一個集合:set = {1豌注,2,3}

空集合 s=set()

增:

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

改:

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

可以通過remove + add結(jié)合來實現(xiàn)

查:

無法查詢單個數(shù)據(jù)

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

成員運算符灯萍,來查詢是否包含某個數(shù)據(jù)

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

刪除:

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

remove(x) 刪除指定的數(shù)據(jù)(如果數(shù)據(jù)不存在會報錯)

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

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

類型的轉(zhuǎn)換

  • list轉(zhuǎn)字符串

  • tuple轉(zhuǎn)字符串

    轉(zhuǎn)換

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

    直接使用str()會在最外層加個雙引號。

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绑洛,一起剝皮案震驚了整個濱河市救斑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌真屯,老刑警劉巖系谐,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異讨跟,居然都是意外死亡纪他,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門晾匠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來茶袒,“玉大人,你說我怎么就攤上這事凉馆⌒皆ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵澜共,是天一觀的道長向叉。 經(jīng)常有香客問我,道長嗦董,這世上最難降的妖魔是什么母谎? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮京革,結(jié)果婚禮上奇唤,老公的妹妹穿的比我還像新娘幸斥。我一直安慰自己,他們只是感情好咬扇,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布甲葬。 她就那樣靜靜地躺著,像睡著了一般懈贺。 火紅的嫁衣襯著肌膚如雪经窖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天梭灿,我揣著相機(jī)與錄音画侣,去河邊找鬼。 笑死胎源,一個胖子當(dāng)著我的面吹牛棉钧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播涕蚤,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼宪卿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了万栅?” 一聲冷哼從身側(cè)響起佑钾,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎烦粒,沒想到半個月后休溶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡扰她,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年兽掰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徒役。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡孽尽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出忧勿,到底是詐尸還是另有隱情杉女,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布鸳吸,位于F島的核電站熏挎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏晌砾。R本人自食惡果不足惜坎拐,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧廉白,春花似錦个初、人聲如沸乖寒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽楣嘁。三九已至磅轻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間逐虚,已是汗流浹背聋溜。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留叭爱,地道東北人撮躁。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像买雾,于是被迫代替她去往敵國和親把曼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容