1. 程式人生 > 程式設計 >在Python中字串、列表、元組、字典之間的相互轉換

在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)

執行結果:

在這裡插入圖片描述

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。