字典與列表類似,也是可變序列,但它是無序的可變序列,儲存的內容以「鍵值對」的形式存放。乙個鍵(key)對應乙個值(value)。鍵是唯一的,而值可以有多個,也可以重複。
特點:1、通過鍵來讀取值:字典也稱為關聯陣列或雜湊表(hash)。
2、字典是任意物件的無序集合:這樣可以提高查詢效率。
3、字典是可變的,可以在原處增長或縮短(無須生成乙個副本),並且可以任意巢狀。
4、字典中的鍵必須是唯一:如果出現兩個相同的鍵,只記憶最後乙個值。
5、字典中的鍵不可變,可以使用數字、字串、元組,但不能使用列表。
#建立字典時,鍵和值之間用冒號分隔,相鄰的兩個元素用逗號分隔,所有元素放在大括號中。
#dictionary =
#建立乙個字典,儲存qq號
dictphone =
(dictphone)
#建立空字典,有兩種方法
dictempty1 ={}
dictempty2 =dict()
(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))
(dictlist)
dicttuple =dict(zip(tuple1,tuple2))
(dicttuple)
dictall =dict(zip(list1,tuple2))
(dictall)
#zip()函式,用於將多個列表或元組對應位置的元素組合為元組,並返回包含這些內容的zip物件。
#獲取字典則用dict(),獲取列表則用list(),獲取元組則用tuple()。
#通過給定關鍵字引數建立字典:dictionary=dict(key1=value1,key2=value2,...,keyn=valuen)
dictqq=dict(qq=25890526,zack='
25890526
10000')
(dictqq)
#使用dict物件的fromkeys()建立值為空的字典:dictionary=dict.fromkeys(list)
listk=['
qq',4,'
hello']
dictk=dict.fromkeys(listk)
(dictk)
#用乙個元組和乙個列表建立字典
tupleb=('
qq','
zack
',''
)listb=[25890526,25890526,'
10000']
dictb=
(dictb)
#不需要的字典可以用del刪除:del dictionary
#刪除字典的全部元素:dictionary.clear()
#pop()方法刪除並返回指定鍵的元素
(dictall)
print(dictall.pop('1'
))#popitem()方法刪除並返回最後乙個元素。
(dictall)
(dictall.popitem())
#通過鍵下標訪問
dictd=
print(dictd['
bnana'])
#為了避免異常,將上述**改為如下:
print(dictd['
bnana
'] if
'bnana***
'in dictd else
'沒有此項')
#另乙個避免異常的方法
print(dictd.get('
bnana
','沒有此項'))
#遍歷字典:dictionary.items()
dictc =
dicttemp =dictc.items()
(dicttemp)##
只用乙個引數獲取的是字典的元素
for i in
dicttemp:
(i)#
用兩個引數獲取的是鍵和值
for i,j in
dicttemp:
(i,j)
#獲取每個元素的鍵
for i in
dictc.keys():
(i)#
獲取每個元素的值
for i in
dictc.values():
(i)#
新增dictd =
dictd[
'zoe
'] = '
147258369
(dictd)
dictd['qq
'] = 987654321 #
如果鍵是已經存在,相當於修改
(dictd)
del dictd['
zack
'] #
刪除乙個元素,如果刪除不存在的元素將丟擲乙個異常
(dictd)if'
zoe'
indictd:
del dictd['
zoe'
]
(dictd)
else
:
print('沒有'
)#字典推導式
import
random
dicte =
(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...