python實(shí)現(xiàn)字符串和字典的轉(zhuǎn)換
一、把一個(gè)字符串的內(nèi)容提取出來,并放到字典中
流程如下:
1、得到字符串s,通過分割提取得到s1(是個(gè)列表)
s=”name=lyy&age=3&sex=women&boyfriend=czt”
2、需要再對s1進(jìn)行拆分,此時(shí)s1只有4個(gè)元素,對s1進(jìn)行遍歷,拿到類似“name=lyy”的字符串,即s2
3、同樣通過分割把s2分割成s3列表
4、s3為[name,lyy],即為字典的鍵和值賦值,鍵=s3[0],值=s3[1]
代碼如下:
# -*- coding: utf-8 -*- s="name=lyy&age=3&sex=women&boyfriend=czt" d={ } s1=s.split("&") # print s1 for i in xrange(4): s2=s1[i] # print s2 s3=s2.split("=") print s3 key=s3[0] value=s3[1] d[key]=value print d
改進(jìn)代碼,改進(jìn)之處——直接使用s2 in s1執(zhí)行遍歷
# -*- coding: utf-8 -*- s="name=lyy&age=3&sex=women&boyfriend=czt" d={ } s1=s.split("&") # print s1 for s2 in s1: s3=s2.split("=") print s3 key=s3[0] value=s3[1] d[key]=value print d
二、把一個(gè)字典中的內(nèi)容提取出來,并存儲為字符串
流程如下:
1、把字典中的項(xiàng)目取出來,使用items方法,使得字典的鍵值對變成列表s1的每一個(gè)元素,s1是列表
2、遍歷s1的每一個(gè)元素,先需要讀取每一個(gè)元素的鍵和值,即key=s1[0],value=s1[2]
3、這時(shí)key和value分別都是字符串,用“=”連接起來
4、把每一個(gè)等式連接起來使用到append方法,創(chuàng)建列表存儲每次連接好的等式
5、使用列表的join方法,把“&”插入列表中
# -*- coding: utf-8 -*- d={'age': '3', 'boyfriend': 'czt', 'name': 'lyy', 'sex': 'women'} s1=d.items() lst=[] print s1 for i in xrange(4): s2=s1[i] print s2 key=s2[0] value=s2[1] print key print value s3=key+"="+value print s3 lst.append(s3) print lst print "&".join(lst)
同樣簡化步驟,循環(huán)內(nèi)語句這樣寫:
for s2 in s1: key=s2[0] value=s2[1] s3=key+"="+value lst.append(s3)
s2里面對應(yīng)就是兩個(gè)元素,簡化:
for s2 in s1: key,value=s2 s3=key+"="+value lst.append(s3)
發(fā)現(xiàn)s2同樣可以省略,但是上述的key和value連接依賴s2,可用格式化成字符串輸出來擺脫這種依賴,簡化如下
# -*- coding: utf-8 -*- d={'age': '3', 'boyfriend': 'czt', 'name': 'lyy', 'sex': 'women'} s1=d.items() lst=[] for key,value in s1: s3="%s=%s"%(key,value) lst.append(s3) print "&".join(lst)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python 3.8中實(shí)現(xiàn)functools.cached_property功能
這篇文章主要介紹了Python 3.8中實(shí)現(xiàn)functools.cached_property功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05python網(wǎng)絡(luò)編程之TCP通信實(shí)例和socketserver框架使用例子
這篇文章主要介紹了python網(wǎng)絡(luò)編程之TCP通信實(shí)例和socketserver框架使用例子,需要的朋友可以參考下2014-04-04Python中使用裝飾器和元編程實(shí)現(xiàn)結(jié)構(gòu)體類實(shí)例
Python中使用裝飾器和元編程實(shí)現(xiàn)結(jié)構(gòu)體類實(shí)例,本文的方法算是一種Python的黑魔法技術(shù),并非Python的常規(guī)寫法,需要的朋友可以參考下2015-01-01[機(jī)器視覺]使用python自動(dòng)識別驗(yàn)證碼詳解
這篇文章主要介紹了python自動(dòng)識別驗(yàn)證碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05Python連接Oracle之環(huán)境配置、實(shí)例代碼及報(bào)錯(cuò)解決方法詳解
這篇文章主要介紹了Python連接Oracle之環(huán)境配置、實(shí)例代碼及報(bào)錯(cuò)解決方法詳解,需要的朋友可以參考下2020-02-02