python字典推導式 python字典推導式

2021-10-12 12:16:05 字數 2741 閱讀 8146

17.python 字典推導式(經典**)

最後更新於:2020-03-21 11:57:13

在昨天的文章中,我們介紹了關於python列表推導式 的使用,字典推導式使用方法其實也類似,也是通過迴圈和條件判斷表示式配合使用,不同的是字典推導式返回值是乙個字典,所以整個表示式需要寫在{}內部。

一.字典推導式語法

語法一:

key:字典中的key

value:字典中的value

dict.items():序列

condition:條件表示式

key_exp:在for迴圈中,如果條件表示式condition成立(即條件表示式成立),返回對應的key,value並作key_exp,value_exp處理

value_exp:在for迴圈中,如果條件表示式condition成立(即條件表示式成立),返回對應的key,value並作key_exp,value_exp處理

語法二:

key:字典中的key

value:字典中的value

dict.items():序列

condition:條件表示式

key_exp:在for迴圈中,如果條件表示式condition成立(即條件表示式成立),返回對應的key,value並作key_exp,value_exp處理

value_exp1:在for迴圈中,如果條件表示式condition成立(即條件表示式成立),返回對應的key,value並作key_exp,value_exp1處理

value_exp2:在for迴圈中,如果條件表示式condition不成立(即條件表示式不成立),返回對應的key,value並作key_exp,value_exp2處理

二.字典推導式實戰

1.在字典中提取或者修改資料,返回新的字典

# !usr/bin/env python

# -*- coding:utf-8 _*-

@author:何以解憂

@blog(個人部落格位址): shuopython.com

@github:www.github.com

@file:python_dict.py

@time:2019/10/1 21:48

@motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!

# 案例一:獲取字典中key值是小寫字母的鍵值對

dict1 =

dict2 =

print(dict2)

# 案例二:將字典中的所有key設定為小寫

dict3 =

print(dict3)

# 案例三:將字典中所有key是小寫字母的value統一賦值為'error'

dict4 =

print(dict4)

輸出結果:

2.在字串中提取資料,返回新的字典

在後期的爬蟲課程中,我們需要獲取cookies並以字典的形式傳參,如果cookies是字串則需要轉換為字典,經典**案例如下:

cookies = "anonymid=jy0ui55o-u6f6zd; depovince=gw; _r01_=1; jsessionid=abcmktglrgjltdhbk7ovw; ick_login=a9b557b8-8138-4e9d-8601-de7b2a633f80; _ga=ga1.2.1307141854.1562980962; _gid=ga1.2.201589596.1562980962; _c1=-100; first_login_flag=1; ln_uact=18323008898; ln_hurl= jebe_key=88f1340c-592c-4dd6-a738-128a76559f45%7cad33b3c730fcdc8df220648f0893e840%7c1562981108370%7c1%7c1562981106763; jebe_key=88f1340c-592c-4dd6-a738-128a76559f45%7cad33b3c730fcdc8df220648f0893e840%7c1562981108370%7c1%7c1562981106765; jebecookies=793eb32e-92c6-470d-b9d0-5f924c335d30|||||; _de=e77807ce44886e0134abf27e72cfd74f; p=a00d65b1f779614cd242dc719e24c73e0; t=292ba8729a4151c1a357e176d8d91bff0; societyguester=292ba8729a4151c1a357e176d8d91bff0; id=969937120; xnsid=1700b2cc; ver=7.0; loginfrom=null; wp_fold=0"

# 字典推導式

cookies =

print(cookies)

輸出結果:

**分析:

在字串cookies中』=』前面是key,』=』後面是value,每乙個』;』構成乙個鍵值對;多個鍵值對構成乙個字典;

1.根據』;』將字串拆分為列表;

2.根據第一步獲取的列表,遍歷時將每乙個字串根據』=』再次拆分;

3.根據第二步拆分的結果,列表第乙個元素作為key,列表第二個元素作為value;

三.重點總結

字典推導式和列表推導式的效率均比普通的for迴圈效率更高,注意字典推導式與列表推導式的區別:

1.列表推導式返回列表,表示式在中括號中

2.字典推導式返回字典,表示式在大括號{}中

猜你喜歡:

掃碼或搜尋:猿說python

猿說python

讚賞

python字典推導式

如果有如下兩個 表 list1 name age gender list2 tom 20 man 如何快速合併為乙個字典?答 字典推導式 字典推導式作用 快速合併 表為字典或提取字典中目標資料 字典key是1 5數字,value是這個數字的2次方。dict1 print dict1 list1 na...

地鐵python 字典推導式

快速合併列表為字典或者提取字典中的木變資料 list1 name age gender list2 tom 20,man 目的 快速合併成乙個字典 例題 建立乙個字典 字典key是1 5的數字,value是這個數字的2次方 dict1 print dict1 將兩個列表合併成乙個字典 dict2 p...

Python之 列表推導式與字典推導式

四 列表推導式與字典推導式 在 python 中推導式是一種非常 pythonic 的知識,本篇將解答列表推導式與字典推導式相關的技術知識。4.1 列表推導式 列表推導式可以利用列表,元組,字典,集合等資料型別,快速的生成乙個特定需要的列表。語法格式如下 表示式 for 迭代變數 in 可迭代物件 ...