python字符串,元组,列表,字典互转代码实例详解

1. Python字符串、元组、列表、字典简介

在Python中,字符串、元组、列表和字典是四种常见的数据类型,它们都有着不同的特点和用途。

字符串是由一系列字符组成的,可以用单引号或双引号将其括起来,例如:

str1 = 'hello world'

str2 = "Python is awesome"

元组类似于一个不可变的列表,用小括号将其括起来,其中的元素可以是不同类型的,例如:

tup1 = (1, 'two', 3.0)

列表是一个有序的集合,用中括号将其括起来,其中的元素可以是不同类型的,例如:

list1 = [1, 'two', 3.0]

字典是一种由键值对组成的数据结构,用大括号将其括起来,例如:

dict1 = {'name': 'Alice', 'age': 25, 'score': 90}

2. Python字符串、元组、列表、字典互转方法

2.1 字符串与其他数据类型互转

字符串与元组、列表和字典之间的转换都是通过一些内置函数来实现的。

2.1.1 字符串与元组互转

字符串可以通过tuple()函数转换成元组,其中字符串的每个字符会被转换成元组中的一个元素,例如:

str1 = 'hello'

tup1 = tuple(str1)

print(tup1) # ('h', 'e', 'l', 'l', 'o')

元组可以通过str()函数转换成字符串,其中元组中的元素会被拼接成一个字符串,例如:

tup1 = ('h', 'e', 'l', 'l', 'o')

str1 = str(tup1)

print(str1) # "('h', 'e', 'l', 'l', 'o')"

2.1.2 字符串与列表互转

字符串可以通过list()函数转换成列表,其中字符串的每个字符会被转换成列表中的一个元素,例如:

str1 = 'hello'

list1 = list(str1)

print(list1) # ['h', 'e', 'l', 'l', 'o']

列表可以通过str()函数转换成字符串,其中列表中的元素会被拼接成一个字符串,例如:

list1 = ['h', 'e', 'l', 'l', 'o']

str1 = str(list1)

print(str1) # "['h', 'e', 'l', 'l', 'o']"

2.1.3 字符串与字典互转

通过一些字符串处理函数,字符串和字典之间可以互相转换。

字符串转字典,可以使用eval()函数,他将字符串视作语句来执行,例如:

str1 = "{'name': 'Alice', 'age': 25, 'score': 90}"

dict1 = eval(str1)

print(dict1) # {'name': 'Alice', 'age': 25, 'score': 90}

字典转字符串,首先要将字典转换为字符串,然后再进行其他操作。可以使用json.dumps()函数,将字典转换为JSON字符串,例如:

import json

dict1 = {'name': 'Alice', 'age': 25, 'score': 90}

str1 = json.dumps(dict1)

print(str1) # {"name": "Alice", "age": 25, "score": 90}

将字典转换为JSON字符串后,可以通过json.loads()函数将其转换为字典,例如:

import json

str1 = '{"name": "Alice", "age": 25, "score": 90}'

dict1 = json.loads(str1)

print(dict1) # {'name': 'Alice', 'age': 25, 'score': 90}

2.2 元组与其他数据类型互转

元组与字符串、列表和字典之间的转换也是通过一些内置函数来实现的。

2.2.1 元组与字符串互转

元组可以通过str()函数转换成字符串,其中元组中的元素会被拼接成一个字符串,例如:

tup1 = ('h', 'e', 'l', 'l', 'o')

str1 = str(tup1)

print(str1) # "('h', 'e', 'l', 'l', 'o')"

字符串可以通过eval()函数转换成元组,其中字符串中的内容会被视作元组中的元素,例如:

str1 = "('h', 'e', 'l', 'l', 'o')"

tup1 = eval(str1)

print(tup1) # ('h', 'e', 'l', 'l', 'o')

2.2.2 元组与列表互转

元组可以通过list()函数转换成列表,其中元组中的每个元素会被转换成列表中的一个元素,例如:

tup1 = (1, 'two', 3.0)

list1 = list(tup1)

print(list1) # [1, 'two', 3.0]

列表可以通过tuple()函数转换成元组,其中列表中的每个元素会被转换成元组中的一个元素,例如:

list1 = [1, 'two', 3.0]

tup1 = tuple(list1)

print(tup1) # (1, 'two', 3.0)

2.2.3 元组与字典互转

元组与字典之间的转换通常是通过列表来实现的。

元组转字典,首先需要将元组转换为列表,然后再使用dict()函数将其转换为字典,例如:

tup1 = ('name', 'Alice', 'age', 25)

list1 = list(tup1)

dict1 = dict(zip(list1[::2], list1[1::2]))

print(dict1) # {'name': 'Alice', 'age': 25}

字典转元组,可以使用items()函数将字典转换为元组,其中每个元组包含字典中的一键值对,例如:

dict1 = {'name': 'Alice', 'age': 25}

tup1 = tuple(dict1.items())

print(tup1) # (('name', 'Alice'), ('age', 25))

2.3 列表与其他数据类型互转

列表也可以与字符串、元组和字典之间互相转换。

2.3.1 列表与字符串互转

列表可以通过str()函数转换成字符串,其中列表中的元素会被拼接成一个字符串,例如:

list1 = ['h', 'e', 'l', 'l', 'o']

str1 = str(list1)

print(str1) # "['h', 'e', 'l', 'l', 'o']"

字符串可以通过eval()函数转换成列表,其中字符串中的内容会被视作列表中的元素,例如:

str1 = "['h', 'e', 'l', 'l', 'o']"

list1 = eval(str1)

print(list1) # ['h', 'e', 'l', 'l', 'o']

2.3.2 列表与元组互转

列表可以通过tuple()函数转换成元组,其中列表中的每个元素会被转换成元组中的一个元素,例如:

list1 = [1, 'two', 3.0]

tup1 = tuple(list1)

print(tup1) # (1, 'two', 3.0)

元组可以通过list()函数转换成列表,其中元组中的每个元素会被转换成列表中的一个元素,例如:

tup1 = (1, 'two', 3.0)

list1 = list(tup1)

print(list1) # [1, 'two', 3.0]

2.3.3 列表与字典互转

列表与字典之间的转换通常也是通过列表来实现的。

列表转字典,首先需要将列表转换为元组,然后再使用dict()函数将其转换为字典,例如:

list1 = ['name', 'Alice', 'age', 25]

tup1 = tuple(list1)

dict1 = dict(zip(tup1[::2], tup1[1::2]))

print(dict1) # {'name': 'Alice', 'age': 25}

字典转列表,可以使用items()函数将字典转换为元组,其中每个元组包含字典中的一键值对,然后再将元组转换为列表,例如:

dict1 = {'name': 'Alice', 'age': 25}

tup1 = tuple(dict1.items())

list1 = list(sum(tup1, ()))

print(list1) # ['name', 'Alice', 'age', 25]

2.4 字典与其他数据类型互转

字典也支持与字符串、元组和列表之间的转换。

2.4.1 字典与字符串互转

字典转字符串和字符串转字典的方法在前面已经有讲述,这里不再赘述。

2.4.2 字典与元组互转

字典可以通过items()函数将其转换为元组,其中每个元组包含字典中的一键值对,例如:

dict1 = {'name': 'Alice', 'age': 25, 'score': 90}

tup1 = tuple(dict1.items())

print(tup1) # (('name', 'Alice'), ('age', 25), ('score', 90))

元组可以通过dict()函数转换成字典,其中元组中的每个元素必须包含两个值,第一个值为键,第二个值为值,例如:

tup1 = (('name', 'Alice'), ('age', 25), ('score', 90))

dict1 = dict(tup1)

print(dict1) # {'name': 'Alice', 'age': 25, 'score': 90}

2.4.3 字典与列表互转

字典与列表之间的转换可以通过将字典转换为元组来实现,具体方法已经在前面介绍过。

3. 总结

Python中的字符串、元组、列表和字典都是非常常见的数据类型,它们都有着自己的特点和使用场景。在实际开发中,经常会遇到需要将不同类型的数据进行转换的情况,这时候可以使用Python提供的一些内置函数来进行转换。

字符串与其他数据类型之间的转换通常比较简单,可以通过str()eval()等函数来实现。

元组与其他数据类型之间的转换也比较简单,可以通过tuple()list()等函数来实现。

列表与其他数据类型之间的转换也比较简单,可以通过list()tuple()等函数来实现。

字典与其他数据类型之间的转换比较复杂,通常需要通过转换为元组或JSON字符串来实现。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签