小甲魚 字典

2021-10-23 00:17:44 字數 3537 閱讀 5464

字典dictionary是內建的資料型別,是個無序的儲存結構,每一元素是key-value對

不允許同乙個鍵出現兩次。建立時如果同乙個鍵被賦值兩次,後乙個值會被記住.鍵必須不可變,所以可以用數字,字串或元組充當,而用列表就不行

字典支援無限極巢狀

>>

> dict4=

dict((

('小',18

),('da',12

)))>>

> dict4

>>

> dict4[

'xiaomao']=

12>>

> dict4 #增加乙個值

>>

> dict4[

'da']=

13>>

> dict4 #改變相應key對應的value

>>

> dict1=

>>

> dict1.fromkeys((1

,2,3

))>>

> dict1.fromkeys((1

,2,3

),('one'))

>>

> dict1.fromkeys((2

,4),

('one'

,'two'))

>>

> dict1 = dict1.fromkeys(

range(32

),'贊')

>>

> dict1 #range(a,n)是將a到n-1的數全部輸出

三種方法:keys(),values(),items(),分別求對應的值

get()方法:求某個值,如果在字典中則結果是該值。如果沒有得到null,但是如果之前get(3,『沒有』)則如果沒有3在字典裡面則會列印『沒有』

但如果是不用get方法直接訪問不存在的key,程式會報錯,所有用get方法更安全

找到了就返回本來應該返回的值

dict1 =

print

(dict1.get(

'浙大'))

#會返回none

print

(dict1[

'浙大'])

#會報錯

print

(dict1.get(

'浙大'

,'do not find'))

#會返回do not find

#沒有找到的時候可以返回預設值

也可以直接用成員資格操作符in,not in

>>

> dict8=

dict

.fromkeys(

range(3

),'加油!'

)>>

> dict8 #fromkeys()用於建立字典

三種方法:keys(

),values(

),items(

)>>

>

for each in dict8.keys():

print

(each)01

2>>

>

for i in dict8.values():

print

(i)加油!

加油!加油!

>>

>

for i in dict8.items():

print

(i)(0,

'加油!')(

1,'加油!')(

2,'加油!'

)>>

>dict1 =

>>

>

print

(dict1.keys)

dict_keys(

['清華'

,'北大'

,'南昌'])

#將dict1的key全部列印出來

#同理還有print(dict1.values) , print(dict1.items)

#enumerate函式:用這個列舉函式會返回每乙個的下標和key

>>

>

for i,a in

enumerate

(dict1)

:>>

>

print

(i,a)

0 清華

1 北大

2 南昌 #上下的兩組差異就是上面乙個分開返回

>>

>

for i in

enumerate

(dict1)

:>>

>

print

(i)(0,

'清華')(

1,'北大')(

2,'南昌'

)get(

)方法》

> dict8.get(3)

>>

>

print

(dict8.get(3)

)none

>>

>

print

(dict8.get(2,

'沒有'))

加油!>>

>

print

(dict8.get(5,

'沒有'))

沒有成員操作符in,not

in使用:判斷是否在裡面

>>

>

3in dict8 #判斷3是否在字典dict8中

false

>>

>

3not

in dict8

true

>>

>

2in dict8

true

clear()方法:清空

>>

> dict1=

dict

.fromkeys(

(range(2

,6))

,'歐克'

)>>

> dict1

>>

> dict1.clear(

)#清空字典

>>

> dict1

pop():將字典元素丟擲,類似於棧中的pop方法

popitem() :隨機返回並刪除字典中的最後一對鍵和值。如果字典已經為空,卻呼叫了此方法,就報出keyerror異常。返回乙個鍵值對(key,value)形式,按照 lifo(last in first out 後進先出法) 順序規則,即最末尾的鍵值對。

setdefault() :如果鍵不在字典中,則使用預設值插入鍵。

如果key在字典中,則返回key的值,否則為預設值。

>>

> dict8=

dict

.fromkeys(

range(3

),'加油!'

)>>

> dict8.pop(2)

'加油!'

>>

> dict8

>>

>dict8.popitem()(

4,'加油!'

)

小甲魚 例題

假設a,b為非空迴圈鍊錶的尾指標 status是函式的型別,其值是函式結果狀態 如ok等 9 typedef int elemtype elemtype型別根據實際情況而定,這裡假設為int 10 11 typedef struct node 12node,linklist 1617 初始化帶頭結點...

小甲魚線性表

線性表的抽象資料型別 抽象資料型別就是把型別和操作 在一起,資料元素之間的關係是一對一的關係 adt 線性表 list data 資料 資料就是裡面所有的元素 線性表的資料物件集合,每個元素的型別均為datatype operation initlist l 初始化操作,建立乙個空的線性表l lis...

小甲魚 看後有感

list.extend 可以增加多個元素,格式為元素組 list.insert a,b 只能增加單個元素,啊為位置,b為元素 字串string 元組tuple 列表list都可以進行比較運算,由第一位元素開始比較,大小由編碼格式對元素排序順序決定。比較運算 l.reverse與l.sort reve...