两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

在上節(jié)我們學(xué)習(xí)了字典的方法,本章節(jié)來了解一下混合字典及字典的遍歷和字典推導(dǎo)式。

1. 混合字典

所謂混合字典,即字典中存儲(chǔ)的數(shù)據(jù)是各種類型混合在一起的,鍵需要取不可變的數(shù)據(jù)類型,但是值是可以取任意類型的對(duì)象。

我們先來看一個(gè)混合字典:

my_dcit = {'小明':['身高:170cm','體重:65kg'],'小李':'愛學(xué)習(xí),愛運(yùn)動(dòng)','小華':('居住地:蘇州','出生地:上海')}

這個(gè)字典的值由列表,字符串和元組構(gòu)成,我們可以通過上一節(jié)的方法來訪問這個(gè)混合字典??聪旅嬉欢未a

my_dcit = {'小明':['身高:170cm','體重:65kg'],'小李':'愛學(xué)習(xí),愛運(yùn)動(dòng)','小華':('居住地:蘇州','出生地:上海')}
print('訪問key=‘小明’->',my_dcit['小明'])
print('訪問key=‘小華’->',my_dcit['小李'])
print('訪問key=‘小華’->',my_dcit['小華'])
print('itmes()方法:',my_dcit.items())     #整體訪問
print('keys()方法:',my_dcit.keys())     #只訪問了所有key
print('values()方法:',my_dcit.values())     #只訪問了value
print('get()方法:',my_dcit.get('小明'))     #get方法來訪問指定鍵
my_dcit.pop('小明')     #此步驟為pop()方法,會(huì)刪除鍵=‘小明’的成對(duì)元素
print('pop()方法后的my_dict:',my_dcit)     #查看一下刪除后的字典

看一下輸出結(jié)果:

訪問key=‘小明’-> ['身高:170cm', '體重:65kg']
訪問key=‘小華’-> 愛學(xué)習(xí),愛運(yùn)動(dòng)
訪問key=‘小華’-> ('居住地:蘇州', '出生地:上海')
itmes()方法: dict_items([('小明', ['身高:170cm', '體重:65kg']), ('小李', '愛學(xué)習(xí),愛運(yùn)動(dòng)'), ('小華', 
('居住地:蘇州', '出生地:上海'))])
keys()方法: dict_keys(['小明', '小李', '小華'])
values()方法: dict_values([['身高:170cm', '體重:65kg'], '愛學(xué)習(xí),愛運(yùn)動(dòng)', ('居住地:蘇州', '出生地:上海'
)])
get()方法: ['身高:170cm', '體重:65kg']
pop()方法后的my_dict: {'小李': '愛學(xué)習(xí),愛運(yùn)動(dòng)', '小華': ('居住地:蘇州', '出生地:上海')}

2. 遍歷字典

我們?cè)谑褂米值涞慕?jīng)常要進(jìn)行字典的遍歷,通常會(huì)使用for循環(huán)去遍歷字典所有的鍵。

我們看一下一般情況下的遍歷訪問:

>>> my_dict ={1001:'小明',1002:'小華',1003:'小張'}
>>> for i in my_dict:
        print(i, my_dict[i])#輸出key及key對(duì)應(yīng)的值
1001 小明
1002 小華
1003 小張

我們?cè)讷@取對(duì)象的時(shí)候也會(huì)使用items()方法來獲取成對(duì)的元素。

>>> my_dict ={1001:'小明',1002:'小華',1003:'小張'}
>>> for i in my_dict.items():
        print(i)
(1001, '小明')
(1002, '小華')
(1003, '小張')

這種方式的訪問是對(duì)面字典的一對(duì)數(shù)據(jù),輸出結(jié)果是以元組的形式輸出,同時(shí)還可以通過循環(huán)的遍歷直接獲取每一次遍歷的鍵和值。

>>> my_dict ={1001:'小明',1002:'小華',1003:'小張'}
>>> for i,j in my_dict.items():
   print('對(duì)應(yīng)鍵:',i,'對(duì)應(yīng)值:',j)
對(duì)應(yīng)鍵: 1001 對(duì)應(yīng)值: 小明
對(duì)應(yīng)鍵: 1002 對(duì)應(yīng)值: 小華
對(duì)應(yīng)鍵: 1003 對(duì)應(yīng)值: 小張

關(guān)于字典的遍歷最后通過習(xí)題練習(xí)一下。

3. 字典推導(dǎo)式

前面學(xué)習(xí)過列表推導(dǎo)式,元組推導(dǎo)式和列表推導(dǎo)式類似沒有過多的介紹,因?yàn)樽值湎鄬?duì)來說比較特殊,在這里講解一下字典推導(dǎo)式。

我們先看一個(gè)簡單的使用方式。

>>> my_dict = {i:'dotcpp' for i in range(1,5)}
>>> my_dict
{1: 'dotcpp', 2: 'dotcpp', 3: 'dotcpp', 4: 'dotcpp'}

在這里我們來看一下字典推導(dǎo)式的結(jié)構(gòu),第一部分等同于每一個(gè)i的值對(duì)象都用‘dotcpp’來賦值,我們也可以先定義一個(gè)列表,把列表中的值賦予它。

>>> my_list = [10,20,30,40,50]
>>> my_dict = {i:my_list[i] for i in range(1,5)}
>>> my_dict
{1: 20, 2: 30, 3: 40, 4: 50}

看下圖:

 

python dictionary

在使用字典推導(dǎo)式的時(shí)候主要鍵與值的相匹配問題,在后面我們學(xué)習(xí)過函數(shù)之后可以使用zip()函數(shù)能夠更方便的進(jìn)行字典的組合,在這里就不做過多的介紹。

4. 習(xí)題

要求用戶輸入總資產(chǎn),例如: 3000,然后顯示購物車列表,計(jì)算購物車商品總金額,如果商品總額大于總資產(chǎn),提示賬戶余額不足,否則,購買成功。購物車列表如下:carts=[{"name":"床","price":1999,”num”:1},{"name":"枕頭","price":10, ” num”:2},{"name":"被子","price":20, ”num”:1}]。

題解在最后。

5. 總結(jié)

學(xué)習(xí)Python的時(shí)候字典屬于一個(gè)相對(duì)來說比較常用的數(shù)據(jù)結(jié)構(gòu),但是由于它的獨(dú)特性,在競賽題目中關(guān)于字典的可能相對(duì)較少,在Python課程學(xué)習(xí)考察中會(huì)比較多,在數(shù)據(jù)存儲(chǔ)的時(shí)候我們借助字典能幫我們準(zhǔn)確的找到相應(yīng)的數(shù)據(jù),熟練的掌握列表和字典能夠幫助我們更好的學(xué)習(xí)Python。

6.例題題解

carts=[
{"name":"床","price":1999,”num”:1},
{"name":"枕頭","price":10, ”num”:2},
{"name":"被子","price":20, ”num”:1}
]。
m = int(input())
sum = 0
for i in range(len(carts)):
    sum = carts[i]['price'] * carts[i]['num'] + sum
if m >= sum:
    print('購買成功')
else:
    print('賬戶余額不足')


點(diǎn)贊(0)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:

一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語言學(xué)練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程

從零到寫出一個(gè)爬蟲的Python編程課程

只會(huì)語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運(yùn)行等待時(shí)間)