Day 7 資料結構常用方法

2022-09-24 05:42:11 字數 4003 閱讀 3719

def

main():

fruits = ['

grape

', '

@pple

', '

strawberry

', '

waxberry']

#通過下標訪問元素

print(fruits[0]) #

grape

print(fruits[1]) #

@pple

print(fruits[-1]) #

waxberry

print(fruits[-2]) #

strawberry

#print(fruits[-5]) # 位置 -5 不存在, 產生異常 indexerror

#print(fruits[4]) # 位置 -4 不存在, 產生異常 indexerror

print(fruits[1:4]) #

fruits[1] = ''#

pitaya

') #

fruits.insert(0, '

banana

') #

del fruits[1] #

fruits.pop() #

fruits.pop(0) #

fruits.remove('

') #

#生成器

list1 = list(range(1, 11)) #

range建立數值列表 1 到10

list2 = [x * x for x in range(1, 11)] #

表示式,對 range建立數值列表 每乙個元素 平方

list3 = [m + n for m in

'abcdefg

'for n in

'12345

'] #

二重迴圈, 先遍歷字元元素m, 再遍歷數字元素n ['a1', 'a2', 'a3', 'a4', 'a5', 'b1', 'b2', 'b3', 'b4', 'b5', 'c1', 'c2', 'c3', 'c4', 'c5', 'd1', 'd2', 'd3', 'd4', 'd5', 'e1', 'e2', 'e3', 'e4', 'e5', 'f1', 'f2', 'f3', 'f4', 'f5', 'g1', 'g2', 'g3', 'g4', 'g5']

if__name__ == '

__main__':

main()

與列表比較

相同點:操作方式相同,都是一組資料

不同點:列表使用, 元組使用()

列表可修改, 元組不可以修改,對元組填刪改都不可以

與數學定義得集合一樣,不能有重複元素,可以進行交集,並集,差集等運算

def

main():

set1 = #

大括號 表示集合

print(set1) #

集合自動去除重複值

print('

length =

', len(set1)) #

長度是 3

set2 = set(range(1, 10)) #

定義集合, 將列表轉成集合

set1.add(4) #

新增元素

set1.add(5) #

新增元素

set2.update([11, 12]) #

新增元素 11,12,

set2.discard(5) #

丟棄元素5,

if 4 in set2: #

先判斷元素4 是否在集合set2中,在則刪除,不在時使用remove會引發異常

set2.remove(4) #

#遍歷集合容器

for elem in

set2:

print(elem ** 2, end='

') #

1 4 9 36 49 64 81 121 144

set3 = set((1, 2, 3, 3, 2, 1)) #

將元組轉換成集合 ,去除重複值

print(set3.pop()) #

取第乙個值 1, 並移除

print(set3) #

#set1 , set2

#集合的交集

print(set1 &set2)

print

(set1.intersection(set2))

#並集

print(set1 |set2)

print

(set1.union(set2))

#差集

print(set1 -set2)

print

(set1.difference(set2))

#對稱差運算

print(set1 ^set2)

print

(set1.symmetric_difference(set2))

#判斷子集

print(set2 <=set1)

print

(set2.issubset(set1))

print(set3 <=set1)

print

(set3.issubset(set1))

#判斷超集

print(set1 >=set2)

print

(set1.issuperset(set2))

print(set1 >=set3)

print

(set1.issuperset(set3))

if__name__ == '

__main__':

main()

def

main():

scores =

print(scores['

駱昊']) #

輸出key 是 駱昊 的 value 95

print(scores['

狄仁傑']) #

輸出key 是 狄仁傑 的 value 78

for elem in scores: #

迴圈輸出字段所有元素 key--->value

print('

%s\t--->\t%d

' %(elem, scores[elem]))

for elem in

scores.items():

print('

%s\t--->\t%d

' % (elem[0], elem[1]))

scores[

'白元芳

'] = 65 #

修改key 是 白元芳 的 value, 修改為 65

scores['

諸葛王朗

'] = 71 #

修改key 是 諸葛王朗 的 value, 修改為 71

scores.update(冷麵=67, 方啟鶴=85) #

新加元素 key 是 冷麵的value 67, key 是 方啟鶴的value 85

print(scores) #if'

武則天'

in scores: #

判斷 key 武則天, 是否在字典中

print(scores['

武則天'

])

print(scores.get('

武則天')) #

key 不存在時,輸出none

print(scores.get('

武則天', 60)) #

key 不存在時,輸出第二個引數60

print(scores.popitem()) #

輸出並刪除最後的元素 ('方啟鶴', 85)

print(scores.pop('

駱昊', 100)) #

key 存在時,輸出key=駱昊 的value 95

scores.clear() #

清空字典 {}

if__name__ == '

__main__':

main()

day7 方法重寫

package xue 方法重寫 繼承後,子類擁有父類的功能,也可以用自己的功能 當子類中的方法宣告 返回值 方法名 引數列表 與父類完全一致並且 修飾符的優先順序大於等於父類的修飾符優先順序時,可以對 父類的方法進行覆蓋 重寫 不改變父類的方法或變數,而是另外開一塊空間儲存 此外 父類的私有方法不...

DAY7 方法的呼叫

1,方法的定義 訪問修飾符 返回值 方法名 引數列表 方式一 呼叫方法 物件名.method1 方式二 呼叫靜態方法 static 修飾的 string s abc char c method1 s s將賦值給 方法的形參 str 那麼方法執行的str有值 c 就是方法呼叫後的返回值1,方法的引數是...

day7 基礎資料型別 set

目錄 集合 1.集合的建立 2.增 1 add 2 update 迭代著增加 3.刪 1 remove 2 pop 隨機刪除乙個元素 3 clear 4 del 4.集合的其他操作 集合是無序的,不重複的資料集合,它裡面的元素是可雜湊的 不可變型別 但是集合本身是不可雜湊的 所以集合做不了字典的鍵 ...