一.前言
绞尽脑汁想写点什么,查了很多资料也不知道该如何下手
如果你会了列表推导式,那么字典推导式也是张嘴就来
字典推导和列表推导的不同就在于括号该改成大括号
写个通用的表达式吧:
{ key_expr: value_expr for value in collection if condition }
二.示例
网上的例子都是千篇一律,而且我认为不易于理解.这里给大家贴一个我自己的代码:
爬虫中用到的案例.
cookies是一个字符串
首先用cookies.split("; ")切割成列表
[“wp_fold=0”,“anonymid=jw1e2grh-f4lgb1”,“depovince=GW”]切割后是这样的格式
然后使用字典推导式对这个列表进行遍历:
i.split("=")[0]:i.split("=")[1] for i in cookies.split(";")
i.split("=")[0] 得到的是key
中间是:
i.split("=")[1]得到的是value
cookies = "wp_fold=0; anonymid=jw1e2grh-f4lgb1; depovince=GW; jebecookies=9fdcabbb-38b9-4de7-9a9c-245375ebe409|||||; _r01_=1; JSESSIONID=abc52wc-M2CwS63t-yNRw; ick_login=fceab6b9-748d-4ab7-a7c2-d5e964f7e541; jebe_key=44990691-a6eb-4adb-a0c1-4d7e82888e46%7Ccfcd208495d565ef66e7dff9f98764da%7C1558660211467%7C0; _de=92389E855F3DCE69269E20717FE09247; p=6bbe6bee20778eed51e22c11b550f6824; first_login_flag=1; ln_hurl=http://hdn.xnimg.cn/photos/hdn521/20190523/0955/h_main_UzCc_c9b1000aaa021986.jpg; t=8b011c11f791225847761bed102c1b5e4; societyguester=8b011c11f791225847761bed102c1b5e4; id=970916114; xnsid=18969839; loginfrom=syshome"
'''
字典推导式
cookies.split(";") split分割后是列表
["wp_fold=0","anonymid=jw1e2grh-f4lgb1","depovince=GW","jebecookies=9fdcabbb-38b9-4de7-9a9c-245375ebe409|||||","_r01_=1","JSESSIONID=abc52wc-M2CwS63t-yNRw"]
==>
'''
cookies = {i.split("=")[0]:i.split("=")[1] for i in cookies.split("; ")}
print(cookies)