python 列表與字典轉換

2021-10-24 06:53:25 字數 2069 閱讀 8650

在寫爬蟲的時候,經常需要處理cookie,requests庫里的cookie是dict,但是headers[『cookie』]卻是乙個key=value的字串。

#coding=utf-8

''''''

import logging

#key=value列表轉換成cookie字典

defcookie_list_2_dict

(cookli):if

notisinstance

(cookli,

list):

logging.error(

'error list param...'

)return

return

#heads['cookie']字串轉換成cookie字典

defcookie_str_2_dict

(cookstr):if

notisinstance

(cookstr,

str)

: logging.error(

'error str param...'

)return

cookstr = cookstr.split(

';')

return cookie_list_2_dict(cookstr)

#cookie字典轉換成key=value列表

defcookie_dict_2_list

(cookdi):if

notisinstance

(cookdi,

dict):

logging.error(

'error dict param...'

)return

cookli =

["%s=%s"

%(key,value)

for key,value in cookdi.items()]

return cookli

#cookie字典轉換成heads['cookie']字串

defcookie_dict_2_str

(cookdi):if

notisinstance

(cookdi,

dict):

logging.error(

'error dict param...'

)return

"" cookli = cookie_dict_2_list(cookdi)

return

';'.join(cookli)

if __name__==

'__main__'

: cookies =

cookli = cookie_dict_2_list(cookies)

cookstr = cookie_dict_2_str(cookies)

print

('cook list'

,cookli)

print

('cook str'

,cookstr)

cookdi1 = cookie_str_2_dict(cookstr)

cookdi2= cookie_list_2_dict(cookli)

print

('cook dict 1'

,cookdi1)

print

('cook dict 2'

,cookdi2)

輸出結果:

cook list

['ast=1525005900068b4106e25d4'

,'___bz=708632|41171989|2b7718|aladin2_freexx'

,'platform=h5'

]cook str ast=

1525005900068b4106e25d4

;___bz=

708632

|41171989

|2b7718

|aladin2_freexx;platform=h5

cook dict

1cook dict

2

python 列表與字典相互轉換

1.2個列表轉換為字典 2.使用內建函式 zip 3.求乙個列表中所有資料型別的次數 encoding utf 8 l 1,2,s 1,23 1,2 set 1,2 b 2 d 先用字典定義列表中的資料型別 for i in l if isinstance i,str 判斷字串型別 d str 1 ...

Python 字典轉換為列表

說明 列表不可以轉換為字典 轉換後的列表為無序列表 a 字典中的key轉換為列表 key value list a.keys print 字典中的key轉換為列表 key value 字典中的value轉換為列表 value list list a.values print 字典中的value轉換為...

python 列表 字典 string 互相轉換

1 dict 轉為 string 使用str方法 a a str a print a,type a 2 string 轉為 dict 使用eval方法 a a eval a print a,type a 3 list 轉為string 使用join方法,單引號內為字元連線的符號,可以為空,也可以為 ...