python中字符串和列表之间的转换

本文介绍如何在Python中使用split()和join()方法实现字符串和列表的高效转换,包括如何将单个字符串拆分成列表,以及如何将列表合并为一个字符串,通过实例演示了这两种操作的实战应用。

python内置了list() 和str()强制转换类型的方法,但是在实际的应用中,我们并不能直接就使用这俩个方法进行字符串和列表之间的转换,还需要借助

split() 和join()方法

1、字符串转列表

s = 'hello world hello kitty'

已知字符串s,想把这个字符串转换成list:

print(list(s)) #这种方法也可以转换,但是往往不是我们想要的

result = s.split(' ',2) #['hello', 'world', 'hello kitty']
print(result)

result = s.split(' ',4) #['hello', 'world', 'hello', 'kitty']
print(result)

2、列表转字符串

l = ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', ' ', 'h', 'e', 'l', 'l', 'o', ' ', 'k', 'i', 't', 't', 'y']

print(str(l)) #虽然结果转成字符串类型了,但是这明显不是我们想要的结果
print(type(str(l)))


list1 = ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', ' ', 'h', 'e', 'l', 'l', 'o', ' ', 'k', 'i', 't', 't', 'y']
result = ''.join(list1)
print(result)
print(type(result))

Python 中,字符串列表之间转换方法如下: ### 字符串列表 - **使用 `list()` 方法**:默认会把空格、逗号等所有符号在内的每一个字符串元素逐个打印,分别作为列表的每个元素。例如: ```python s = '8, 3, 2, 7, 1' l = list(s) print(l) ``` - **使用 `split()` 方法**:把字符串以某种方式变成列表,如没有参数,默认为以空格区分每一个字符串元素并依次转换列表元素。与 `list()` 结果对比,`split()` 结果是原字符串元素之间有几个空格按几个空格区分,而不是仅按一个空格区分元素并转化成列表元素。例如: ```python s = '8, 3, 2, 7, 1' l = s.split() print(l) ``` 另外,已知字符串 `s = 'hello world hello kitty'`,想把这个字符串转换成 `list`,可以使用 `split()` 方法并指定分隔符分割次数: ```python s = 'hello world hello kitty' result = s.split(' ', 2) # ['hello', 'world', 'hello kitty'] print(result) result = s.split(' ', 4) # ['hello', 'world', 'hello', 'kitty'] print(result) ``` ### 列表字符串 - **使用 `str()` 方法**:在列表外层加上了一个引号,但不显示在控制台。例如: ```python l = [8, 3, 2, 7, 1] s = str(l) print(s) ``` - **使用 `join()` 方法**:按照空格分割字符串元素。注意,使用 `join()` 时,列表中的元素必须是字符串格式,表现为元素必须加引号,不能为整数类型或其他类型。例如: ```python l = ['8', '3', '2', '7', '1'] s = ' '.join(l) print(s) ``` 还可以使用 `*` 号将列表拆分成单个元素,然后传入到函数中,可用于 `print()` 中。例如: ```python a = [1, 2, 3, 4, 5] print(a) print(*a) ``` ### 字符串列表转换为数值列表 可以使用 Python 的 `map()` `float()` 或 `int()` 方法。 [^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值