>> classmates = [ Li , Tom , Alice ] >>> clas..."/>
溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python中比較特殊的幾種數(shù)據(jù)類型list、tuple、d

發(fā)布時(shí)間:2020-05-23 10:45:18 來(lái)源:網(wǎng)絡(luò) 閱讀:337 作者:Python熱愛(ài)者 欄目:編程語(yǔ)言
list

list(列表)是Python內(nèi)置的一種數(shù)據(jù)類型,它是一種有序、可變的集合,可以隨時(shí)添加和刪除其中的元素。

>>> classmates = ['Li', 'Tom', 'Alice']
>>> classmates
['Li', 'Tom', 'Alice']

變量classmates就是一個(gè)list。關(guān)于list的操作如下:

方法

len():獲取list元素的個(gè)數(shù)

>>> len(classmates)
 3

通過(guò)索引訪問(wèn)

'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:579817333 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
>>> classmates[0]
'Li'
>>> classmates[-1]
'Alice'
>>> classmates[3]
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    classmates[3]
IndexError: list index out of range

append:向list末尾追加元素

>>> classmates.append('Adam')
>>> classmates
['Li', 'Tom', 'Alice', 'Adam']

insert:把元素插入到指定的索引

>>> classmates.insert(1,'Jack')
>>> classmates
['Li', 'Jack', 'Tom', 'Alice', 'Adam']

pop():刪除末尾的元素

>>> classmates.pop()
'Adam

pop(i):刪除指定索引的元素

'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:579817333 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
>>> classmates.pop(1)
'Jack'
>>> classmates
['Li', 'Tom', 'Alice']
tuple

tuple是一種有序、不變的集合,也叫元組,一旦初始化就不能修改。與list相比,就沒(méi)有append()、insert()這樣的方法。

為什么有了list還要tuple?

因?yàn)閠uple是不變的,所以代碼更安全,所以如果能用tuple代替list就盡量用tuple吧。

Notes

不變指的是tuple的每個(gè)元素,指向永遠(yuǎn)不變,指向一個(gè)list,就不能改成指向其他對(duì)象,但指向的list本身是可以改變的。

'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:579817333 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])

特殊的tuple元組

#空tuple ()
>>> t = ()
>>> t
()

#一個(gè)元素的tuple,必須加','來(lái)消除歧義(小括號(hào)就可以表示typle又可以表示數(shù)學(xué)中的小括號(hào))
>>> t = (1,)
>>> t
(1,)
dict

dict全稱dictionary,使用鍵-值(key-value)存儲(chǔ),具有極快的查找速度。用Python寫(xiě)一個(gè)dict如下:

>>> d ={'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95

Tips:dict內(nèi)部存放的順序和key放入的順序是沒(méi)有關(guān)系的。

對(duì)比于list

dict的特點(diǎn):1.查找和插入的速度極快,不會(huì)隨著key的增加而變慢 2.需要占用大量的內(nèi)存,內(nèi)存浪費(fèi)多。

而list恰恰相反:1.查找和插入的時(shí)間隨著元素的增加而變慢 2.占用空間小,浪費(fèi)內(nèi)存少。

小結(jié)

所以,dict是用空間來(lái)?yè)Q取時(shí)間的一種方法。dict可以用在需要高速查找的地方,在Python代碼中幾乎無(wú)處不在,正確使用dict就變得十分重要,需要牢記的第一條就是dict的key必須是不可變的對(duì)象。dict根據(jù)key來(lái)計(jì)算value的存儲(chǔ)位置(哈希算法),在Python中,字符串、整數(shù)等是不可以變的,而list是可變的,就不能作為key。

set

set和dict類似,也是一組key的集合,但不存儲(chǔ)value,set可以看成數(shù)學(xué)意義上的無(wú)序和無(wú)重復(fù)元素的集合。要?jiǎng)?chuàng)建一個(gè)set,需要提供一個(gè)list作為輸入集合:

'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:579817333 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
>>> s = set([1,2,3])
>>> s
{1, 2, 3}

兩個(gè)set可以做數(shù)學(xué)意義上的交集、并集等操作:

>>> s1 = set([1,2,3])
>>> s2 = set([2,3,4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI