Python 實(shí)現(xiàn)list,tuple,str和dict之間的相互轉(zhuǎn)換
1、字典(dict)
dict = {‘name': ‘Zara', ‘a(chǎn)ge': 7, ‘class': ‘First'}
1.1 字典——字符串
返回:
print type(str(dict)), str(dict)
1.2 字典——元組
返回:(‘a(chǎn)ge', ‘name', ‘class')
print tuple(dict)
1.3 字典——元組
返回:(7, ‘Zara', ‘First')
print tuple(dict.values())
1.4 字典——列表
返回:[‘a(chǎn)ge', ‘name', ‘class']
print list(dict)
1.5 字典——列表
print dict.values
2、元組
tup=(1, 2, 3, 4, 5)
2.1 元組——字符串
返回:(1, 2, 3, 4, 5)
print tup.__str__()
2.2 元組——列表
返回:[1, 2, 3, 4, 5]
print list(tup)
2.3 元組不可以轉(zhuǎn)為字典
3、列表
nums=[1, 3, 5, 7, 8, 13, 20];
3.1 列表——字符串
返回:[1, 3, 5, 7, 8, 13, 20]
print str(nums)
3.2 列表——元組
返回:(1, 3, 5, 7, 8, 13, 20)
print tuple(nums)
3.3 列表不可以轉(zhuǎn)為字典
4、字符串
4.1 字符串——元組
返回:(1, 2, 3)
print tuple(eval("(1,2,3)"))
4.2 字符串——列表
返回:[1, 2, 3]
print list(eval("(1,2,3)"))
4.3 字符串——字典
返回:
print type(eval("{'name':'ljq', 'age':24}"))
補(bǔ)充:python入門之路:一個(gè)小錯(cuò)誤,str變tuple
筆者在編程的時(shí)候發(fā)現(xiàn),原先定義的str字符串在傳遞和引用的時(shí)候會(huì)莫名其妙改變類型,變成tuple。
import random class get_Veri(object): def random_color(self): random_color=(random.randint(0,255),random.randint(0,255),random.randint(0,255)) return random_color def random_num(self): random_num = str(random.randint(0, 9)) return random_num def random_lowerchr(self): random_lowerchar=chr(random.randint(97, 122)) return random_lowerchar def random_upperchr(self): random_upperchr = chr(random.randint(65, 90)) return random_upperchr def random_char(self): random_char = random.choice([get_Veri.random_num(self), get_Veri.random_upperchr(self), get_Veri.random_lowerchr(self)]) print(random_char) print(type(random_char)) return random_char
這里random_char函數(shù)輸出一個(gè)隨機(jī)字符串,可以看到type類型為:
<class 'str'>
在另一個(gè)文件中進(jìn)行引用:
from random_data.py import get_Veri get_veri=get_Veri() random_char = get_veri.random_char(), print(random_char) print(type(random_char))
發(fā)現(xiàn)random_char的type類型已經(jīng)發(fā)生改變:
<class 'tuple'>
只是一個(gè)簡(jiǎn)單的賦值,為什么會(huì)發(fā)生改變?
原因是在賦值的時(shí)候多加了一個(gè)逗號(hào)。
這個(gè)逗號(hào)讓編譯器執(zhí)行的時(shí)候理解為("str",)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Python Django安裝配置模板系統(tǒng)及使用實(shí)戰(zhàn)全面詳解
本文首先介紹了Django模板系統(tǒng)的基礎(chǔ)知識(shí),接著探討了如何安裝和配置Django模板系統(tǒng),然后深入解析了Django模板的基本結(jié)構(gòu)、標(biāo)簽和過(guò)濾器的用法,闡述了如何在模板中展示模型數(shù)據(jù),最后使用一個(gè)實(shí)際項(xiàng)目的例子來(lái)演示如何在實(shí)際開(kāi)發(fā)中使用Django模板系統(tǒng)2023-09-09詳解DeBug Python神級(jí)工具PySnooper
這篇文章主要介紹了詳解DeBug Python神級(jí)工具PySnooper,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07python os模塊在系統(tǒng)管理中的應(yīng)用
這篇文章主要介紹了python os模塊在系統(tǒng)管理中的應(yīng)用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06淺談selenium如何應(yīng)對(duì)網(wǎng)頁(yè)內(nèi)容需要鼠標(biāo)滾動(dòng)加載的問(wèn)題
這篇文章主要介紹了淺談selenium如何應(yīng)對(duì)網(wǎng)頁(yè)內(nèi)容需要鼠標(biāo)滾動(dòng)加載的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03將本地Python項(xiàng)目打包成docker鏡像上傳到服務(wù)器并在docker中運(yùn)行
Docker是一個(gè)開(kāi)源項(xiàng)目,為開(kāi)發(fā)人員和系統(tǒng)管理員提供了一個(gè)開(kāi)放平臺(tái),可以將應(yīng)用程序構(gòu)建、打包為一個(gè)輕量級(jí)容器,并在任何地方運(yùn)行,這篇文章主要給大家介紹了關(guān)于將本地Python項(xiàng)目打包成docker鏡像上傳到服務(wù)器并在docker中運(yùn)行的相關(guān)資料,需要的朋友可以參考下2023-12-12python+numpy+matplotalib實(shí)現(xiàn)梯度下降法
這篇文章主要為大家詳細(xì)介紹了python+numpy+matplotalib實(shí)現(xiàn)梯度下降法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08django實(shí)現(xiàn)悲觀鎖樂(lè)觀鎖的項(xiàng)目實(shí)踐
在Django中,我們可以通過(guò)實(shí)現(xiàn)悲觀鎖和樂(lè)觀鎖來(lái)保證數(shù)據(jù)的安全性,本文就來(lái)介紹一下django實(shí)現(xiàn)悲觀鎖樂(lè)觀鎖的項(xiàng)目實(shí)踐,感興趣的可以了解一下2023-08-08使用pd.merge表連接出現(xiàn)多余行的問(wèn)題解決
本文主要介紹了使用pd.merge表連接出現(xiàn)多余行的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06Python3實(shí)現(xiàn)簡(jiǎn)單可學(xué)習(xí)的手寫體識(shí)別(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇Python3實(shí)現(xiàn)簡(jiǎn)單可學(xué)習(xí)的手寫體識(shí)別(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10