在Python中字串、列表、元組、字典之間的相互轉換
一、字串(str)
字串轉換為列表
使用list()方法
str_1 = "1235" str_2 = 'zhangsan' str_3 = '''lisi''' tuple_1 = list(str_1) tuple_2 = list(str_2) tuple_3 = list(str_3) print(type(tuple_1)) print(type(tuple_2)) print(type(tuple_3)) print(tuple_1) print(tuple_2) print(tuple_3)
執行結果:
使用Python中字串的內建方法split()
Python split() 通過指定分隔符對字串進行切片,如果引數 num 有指定值,則分隔 num+1 個子字串
語法:str.split(str="",num=string.count(str)).
①str – 分隔符,預設為所有的空字元,包括空格、換行(\n)、製表符(\t)等。
②num – 分割次數。預設為 -1,即分隔所有。
str_1 = "12 35 213" str_2 = 'zhang san shi a ' str_3 = 'zhang san shi a ' str_4 = '''li si wang wu''' list_1 = str_1.split(" ") list_2 = str_2.split(" ",1) list_3 = str_3.split(" ") list_4 = str_4.split(" ",2) print(type(list_1)) print(type(list_2)) print(type(list_3)) print(type(list_4)) print(list_1) print(list_2) print(list_3) print(list_4)
執行結果:
字串 轉換為 元組
使用tuple()方法
str_1 = "1235" str_2 = 'zhangsan' str_3 = '''lisi''' list_1 = tuple(str_1) list_2 = tuple(str_2) list_3 = tuple(str_3) print(type(list_1)) print(type(list_2)) print(type(list_3)) print(list_1) print(list_2) print(list_3)
執行結果:
字串 轉換為 字典
利用eval()方法,可以將字典格式的字串轉換為字典
eval() 函式用來執行一個字串表示式,並返回表示式的值。
語法:eval(expression[,globals[,locals]])
①expression – 表示式。
②globals – 變數作用域,全域性名稱空間,如果被提供,則必須是一個字典物件。③locals – 變數作用域,區域性名稱空間,如果被提供,可以是任何對映物件。
str_1 = "{'name':'zhangsan','age':14,'gender':'girl'}" dict_1 = eval(str_1) print(type(dict_1)) print(dict_1)
執行結果:
利用json.loads()方法,可以將字典格式的字串轉換為字典
json.loads 用於解碼 JSON 資料。該函式返回 Python 欄位的資料型別。
語法:json.loads(s[,encoding[,cls[,object_hook[,parse_float[,parse_int[,parse_constant[,object_pairs_hook[,**kw]]]]]]]])
import json str_1 = '{"name":"xiaoming","age":18}' dict_1 = json.loads(str_1) print(type(dict_1)) print(dict_1)
執行結果:
二、列表(list)
列表轉字串
利用‘'.join()將列表中的內容拼接程一個字串
Python join() 方法用於將序列中的元素(必須是str) 以指定的字元(''中指定的) 連線生成一個新的字串。
list_1 = ['a','b','c'] str_1 = ''.join(list_1) print(type(str_1)) print(str_1)
執行結果:
列表轉字典
利用for in rang將兩個列表轉換為字典
list_1 = ['a','c'] list_2 = [1,2,3] dict_1 = {} for i in range(len(list_1)): dict_1[list_1[i]] = list_2[i] print(type(dict_1)) print(dict_1)
執行結果:
利用python內建方法dict()和zip()將兩個列表轉換為字典
dict() 函式用於建立一個字典。
語法:class dict(**kwarg)
class dict(mapping,**kwarg)
class dict(iterable,kwarg)
①kwargs – 關鍵字
②mapping – 元素的容器。
③iterable – 可迭代物件。
zip() 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成一個個元組,然後返回由這些元組組成的列表。
語法:zip([iterable,…])
iterabl – 一個或多個迭代器;
list_1 = ['name','age'] list_2 = ['zhangsan',18] dict_1 = dict(zip(list_1,list_2)) print(type(dict_1)) print(dict_1)
執行結果:
三、元組(tuple)
元組轉換為字串
- 使用方法__str__
- 返回一個物件的描述資訊
tuple_1 = (1,3) str_1 = tuple_1.__str__() print(type(str_1)) print(str_1)
執行結果:
元組轉換為列表使用方法list()
list() 方法用於將元組轉換為列表。
語法:list( tup )
tup – 要轉換為列表的元組。
tuple_1 = (1,3) list_1 = list(tuple_1) print(type(list_1)) print(list_1)
執行結果:
元組不能轉換為字典
四、字典(dict)
字典轉換為字串
使用 json.dumps()方法
json.dumps 用於將 Python 物件編碼成 JSON 字串。
json.dumps(obj,skipkeys=False,ensure_ascii=True,check_circular=True,allow_nan=True,cls=None,indent=None,separators=None,encoding=“utf-8”,default=None,sort_keys=False,**kw)
字典轉換為元組
- 使用方法 tuple()
- 字典在轉換為元組之後,只會儲存關鍵字
dict_1 = {"name":"zhangsan","age":18} tuple_1 = tuple(dict_1) print(type(tuple_1)) print(tuple_1)
執行結果:
字典轉換為列表
- 使用方法 list()
- 字典在轉換為列表之後,只會儲存關鍵字
dict_1 = {"name":"zhangsan","age":18} list_1 = list(dict_1) print(type(list_1)) print(list_1)
執行結果:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。