筆記5:數(shù)據(jù)結(jié)構(gòu)

數(shù)據(jù)結(jié)構(gòu)

'''列表的三個(gè)特性

1、列表的元素可以改變

2、列表的元素是有序的

3、列表可以容納任何對(duì)象

'''

fruit = ['pineapple','pear']

fruit.insert(1,'grape')? #增加元素

print(fruit)

fruit.remove('pear')? #刪除元素

print(fruit)

fruit[0] = 'bananae'? #改元素

print(fruit)

運(yùn)行結(jié)果:

['pineapple', 'grape', 'pear']

['pineapple', 'grape']

['bananae', 'grape']



'''

字典特征:

1、字典中數(shù)據(jù)必須是以鍵值對(duì)的形式出現(xiàn)

2、邏輯上講,鍵是不能重復(fù)的,而值可以重復(fù)

3、字典中的鍵是不可以變的,也就是說不能修改;而值是可以變的,可修改的,可以是任何對(duì)象

'''

Dic_code={'bidu':'baidu','sina':'sina'}

print(Dic_code)

Dic_code['youku'] ='youku'#增加元素

print(Dic_code)

Dic_code.update({'fb':'facebook','tsla':'tsla'})#增加多個(gè)元素

print(Dic_code)

del Dic_code['youku']#刪除元素

print(Dic_code)

運(yùn)行結(jié)果:

{'sina': 'sina', 'bidu': 'baidu'}

{'sina': 'sina', 'bidu': 'baidu', 'youku': 'youku'}

{'sina': 'sina', 'bidu': 'baidu', 'tsla': 'tsla', 'fb': 'facebook', 'youku': 'youku'}

{'sina': 'sina', 'bidu': 'baidu', 'tsla': 'tsla', 'fb': 'facebook'}


'元組,可以理解為固定版的列表,因?yàn)?b>元素值不可變。但是可以索引查看'

letters=(1,2,3)

print(letters)

運(yùn)行結(jié)果:

(1, 2, 3)

小技巧:如果要改變?cè)M的值,可以把元組轉(zhuǎn)換為列表,在列表中改完后,再轉(zhuǎn)換回元組。



'集合'\

'1、每個(gè)集合中的元素是無序的、不重復(fù)的任意對(duì)象'\

'2、通過集合判斷數(shù)據(jù)的從屬關(guān)系'\

'3、通過集合把數(shù)據(jù)結(jié)構(gòu)中重復(fù)的元素減掉'

例:

a_set={1,2,3}

a_set.add(4)#集合增加元素

print(a_set)

a_set.discard(2)#集合刪除元素

print(a_set)

運(yùn)行結(jié)果:

{1, 2, 3, 4}

{1, 3, 4}


'數(shù)據(jù)結(jié)構(gòu)技巧'

技巧1:

num_list= [5,2,4,3,1]

print(sorted(num_list),num_list) ?#對(duì)列表排序(不改變列表順序,返回排序結(jié)果)

print(sorted(num_list,reverse=True)) #對(duì)列表逆向排序

運(yùn)行結(jié)果:

[1, 2, 3, 4, 5] [5, 2, 4, 3, 1]

[5, 4, 3, 2, 1]

技巧2:

'列表解析式'

例:

import time

a= []

t0=time.clock()

foriinrange(1,20000):

a.append(i)

print(time.clock()-t0,'seconds process time')

t0=time.clock()

b= [i for i in range(1,20000)] ?#

print(time.clock()-t0,'seconds process time')

運(yùn)行結(jié)果:

0.004409208407899885 seconds process time

0.0010066217236152017 seconds process time

技巧3:

'字典解析式'

d={i:i+1 for i in range(4)}

print(d)

g={i:j.upper() for i,j in zip(range(1,6),'abcde')}

print(g)

運(yùn)行結(jié)果:

{0: 1, 1: 2, 2: 3, 3: 4}

{1: 'A', 2: 'B', 3: 'C', 4: 'D', 5: 'E'}

技巧4:

'循環(huán)列表時(shí)獲取元素的索引'

letters= ['a','b','c','d','e']

for num,letter in enumerate(letters):

print(letter,' is ', num)

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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