Python 将字符串和 boolean 值转换为列表

标签 python string list boolean

我有一个字符串:

my_string = "'T1', 'T2', 'T3', 'T4', True, False"

我想转换为这样的列表

my_list = ['T1', 'T2', 'T3', True, False]

我尝试执行 my_string.split(', ') 但它会将 TrueFalse 转换为 str ,这是我不想要的。

我可以编写一个函数,但我觉得有一些Pythonic并且很容易做到这一点。

最好的方法是什么?

最佳答案

您可以使用 ast.literal_evalturn a string representation of a list into a list 。要使字符串代表列表,您需要添加左括号和右括号。

from ast import literal_eval
my_string = "'T1', 'T2', 'T3', 'T4', True, False"
my_list = literal_eval("[" + my_string + "]")
print(my_list)
#['T1', 'T2', 'T3', 'T4', True, False]

可以看到最后两个元素的类型是bool:

print([type(x) for x in my_list])
#[str, str, str, str, bool, bool]
<小时/>

更新

@Chris_Rands 提出的更简洁的解决方案

my_list = list(literal_eval(my_string))

关于Python 将字符串和 boolean 值转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56467647/

相关文章:

python - 当使用 **kwargs 语法从 2 个不同的字典形成单个字典对象时,试图理解模糊的行为

java - 在一个范围内生成许多随机数,但在 java 中有一些异常(exception)

python - 如何使用 python 或 pandas 根据由字典列表组成的列来过滤 DataFrame?

python - django S3 - 修剪图像字段文件名而不是 url 路径

python - 将 "missing"多索引行插入 Pandas Dataframe

Python--timedelta对象什么时候处理?

C#:通过检测空格从字符串中解析子字符串

c++ - 在二进制文件上使用 Getline

python - 从子进程打印 popen 标准输出时出现问题

c# - 从文件读取时出现无限循环问题