Python 實現list,tuple,str和dict之間的相互轉換
dict = {‘name’: ‘Zara’, ‘age’: 7, ‘class’: ‘First’}1.1 字典——字符串
返回:
print type(str(dict)), str(dict)1.2 字典——元組
返回:(‘age’, ‘name’, ‘class’)
print tuple(dict)1.3 字典——元組
返回:(7, ‘Zara’, ‘First’)
print tuple(dict.values())1.4 字典——列表
返回:[‘age’, ‘name’, ‘class’]
print list(dict)1.5 字典——列表
print dict.values2、元組
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 元組不可以轉為字典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 列表不可以轉為字典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}'))
補充:python入門之路:一個小錯誤,str變tuple
筆者在編程的時候發現,原先定義的str字符串在傳遞和引用的時候會莫名其妙改變類型,變成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函數輸出一個隨機字符串,可以看到type類型為:
<class ’str’>
在另一個文件中進行引用:
from random_data.py import get_Veri get_veri=get_Veri()random_char = get_veri.random_char(),print(random_char)print(type(random_char))
發現random_char的type類型已經發生改變:
<class ’tuple’>
只是一個簡單的賦值,為什么會發生改變?
原因是在賦值的時候多加了一個逗號。
這個逗號讓編譯器執行的時候理解為('str',)
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章: