Python | 将字符串转换为列表的7种方法
在Python中,将字符串转换为列表可以通过多种方式实现。以下是七种主要方法:
- 使用
list()
函数
Python 的 list()
函数可以将任何可迭代的对象转换为列表。
s = "Hello"
l = list(s)
print(l) # 输出: ['H', 'e', 'l', 'l', 'o']
- 使用列表推导式
列表推导式是一种简洁快捷的创建列表的方式。
s = "Hello"
l = [char for char in s]
print(l) # 输出: ['H', 'e', 'l', 'l', 'o']
- 使用
str.split()
方法
如果你的字符串包含分隔符(如空格),你可以使用 str.split()
方法将其转换为列表。
s = "Hello World"
l = s.split()
print(l) # 输出: ['Hello', 'World']
- 使用
ast.literal_eval()
ast.literal_eval()
可以执行一个字符串表达式,并返回一个 Python 对象。
import ast
s = "['Hello', 'World']"
l = ast.literal_eval(s)
print(l) # 输出: ['Hello', 'World']
- 使用
json.loads()
json.loads()
可以解析 JSON 字符串,并将其转换为 Python 对象。
import json
s = "['Hello', 'World']"
l = json.loads(s)
print(l) # 输出: ['Hello', 'World']
- 使用
eval()
eval()
函数可以执行一个字符串表达式,并返回一个 Python 对象。
s = "['Hello', 'World']"
l = eval(s)
print(l) # 输出: ['Hello', 'World']
- 使用
re.split()
如果你想根据模式将字符串拆分为列表,可以使用 re.split()
方法。
import re
s = "Hello World"
l = re.split(r'\s+', s)
print(l) # 输出: ['Hello', 'World']
请注意,eval()
和 ast.literal_eval()
的使用存在安全风险,因为它们可以执行任何传入的代码。因此,应仅在可信的字符串上使用这些方法。
评论已关闭