第三天 第四章 字典

2022-09-13 02:57:11 字數 3657 閱讀 5924

字典與列表類似,也是可變序列,但它是無序的可變序列,儲存的內容以「鍵值對」的形式存放。乙個鍵(key)對應乙個值(value)。鍵是唯一的,而值可以有多個,也可以重複。

特點:1、通過鍵來讀取值:字典也稱為關聯陣列或雜湊表(hash)。

2、字典是任意物件的無序集合:這樣可以提高查詢效率。

3、字典是可變的,可以在原處增長或縮短(無須生成乙個副本),並且可以任意巢狀。

4、字典中的鍵必須是唯一:如果出現兩個相同的鍵,只記憶最後乙個值。

5、字典中的鍵不可變,可以使用數字、字串、元組,但不能使用列表。

#

建立字典時,鍵和值之間用冒號分隔,相鄰的兩個元素用逗號分隔,所有元素放在大括號中。

#dictionary =

#建立乙個字典,儲存qq號

dictphone =

print

(dictphone)

#建立空字典,有兩種方法

dictempty1 ={}

dictempty2 =dict()

print

(dictempty1,dictempty2)

#通過對映函式建立字典 : dictionary = dict(zip(list1,list2))

#list1生成字典的鍵,list2生成字典的值。如果列表長度不同,以短的列表為標準。

list1 = ['

1','

2','3'

]list2 = ['

one','

two','

three']

tuple1 = ('

1','

2','3'

)tuple2 = ('

one','

two','

three')

#print(zip(list1,list2))

for i in

zip(list1,list1):

print(i,end='')

#('1', 'one') ('2', 'two') ('3', 'three')

print()#

dictlist = list(zip(list1,list2))

dictlist =dict(zip(list1,list2))

print

(dictlist)

dicttuple =dict(zip(tuple1,tuple2))

print

(dicttuple)

dictall =dict(zip(list1,tuple2))

print

(dictall)

#zip()函式,用於將多個列表或元組對應位置的元素組合為元組,並返回包含這些內容的zip物件。

#獲取字典則用dict(),獲取列表則用list(),獲取元組則用tuple()。

#通過給定關鍵字引數建立字典:dictionary=dict(key1=value1,key2=value2,...,keyn=valuen)

dictqq=dict(qq=25890526,zack='

25890526

10000')

print

(dictqq)

#使用dict物件的fromkeys()建立值為空的字典:dictionary=dict.fromkeys(list)

listk=['

qq',4,'

hello']

dictk=dict.fromkeys(listk)

print

(dictk)

#用乙個元組和乙個列表建立字典

tupleb=('

qq','

zack

',''

)listb=[25890526,25890526,'

10000']

dictb=

print

(dictb)

#不需要的字典可以用del刪除:del dictionary

#刪除字典的全部元素:dictionary.clear()

#pop()方法刪除並返回指定鍵的元素

print

(dictall)

print(dictall.pop('1'

))#popitem()方法刪除並返回最後乙個元素。

print

(dictall)

print

(dictall.popitem())

#通過鍵下標訪問

dictd=

print(dictd['

bnana'])

#為了避免異常,將上述**改為如下:

print(dictd['

bnana

'] if

'bnana***

'in dictd else

'沒有此項')

#另乙個避免異常的方法

print(dictd.get('

bnana

','沒有此項'))

#遍歷字典:dictionary.items()

dictc =

dicttemp =dictc.items()

print

(dicttemp)##

只用乙個引數獲取的是字典的元素

for i in

dicttemp:

print

(i)#

用兩個引數獲取的是鍵和值

for i,j in

dicttemp:

print

(i,j)

#獲取每個元素的鍵

for i in

dictc.keys():

print

(i)#

獲取每個元素的值

for i in

dictc.values():

print

(i)#

新增dictd =

dictd[

'zoe

'] = '

147258369

'print

(dictd)

dictd['qq

'] = 987654321 #

如果鍵是已經存在,相當於修改

print

(dictd)

del dictd['

zack

'] #

刪除乙個元素,如果刪除不存在的元素將丟擲乙個異常

print

(dictd)if'

zoe'

indictd:

del dictd['

zoe'

]

print

(dictd)

else

:

print('沒有'

)#字典推導式

import

random

dicte =

print

(dicte)

name = ['

綺夢','

冷伊一','

香凝','

黛蘭'] #

作為鍵的列表

sign = ['

水瓶座','

射手座','

雙魚座','

雙子座'] #

作為值的列表

dicte =

print(dicte)

Python第四章 字典

字典是python中唯一內建的對映型別,字典中的值並沒有特殊順序,但是都是存在乙個特定的鍵裡。鍵可以是數字 字串甚至是元組。4.1 4.2 了解建立和使用字典 phonebook alice 2345 phonebool asd traceback most recent call last fil...

第四章作業第三程式設計題

第三題普通 第三題答案 include include define delta b b 4 a c intmain else else 考慮到a 0 include include include define delta b b 4 a c intmain elseif 0 a 0 b 0 c ...

第四章 繼承

一 為什麼要繼承 在物件導向中我們將具有很多重複內容的類中的內容提取出來,寫成乙個單獨的類 其他類只需要繼承就能取得這些功能,同時可以在自己類中寫入獨特的自定義方法 二 繼承語法 inte ce circle nsobject 繼承是在介面中定義的 冒號後的類名是要整合的類,nsobject 是co...