Python:如何将格式异常的列表转为标准字符串列表并保持List类型?
解决方案
方法一:逐个清理列表元素
直接遍历原列表的每个元素,去除多余的符号和空格,用列表推导式快速完成:
myList = ["['Ben'", " 'Dillon'", " 'Rawr'", " 'Mega'", " 'Tote'", " 'Case']"] cleaned_list = [item.strip("[]' ") for item in myList] print(cleaned_list) # 输出: ['Ben', 'Dillon', 'Rawr', 'Mega', 'Tote', 'Case'] print(type(cleaned_list)) # 输出: <class 'list'>
strip("[]' ")会移除每个元素首尾的[、]、单引号和空格,直接提取出干净的名字。
方法二:拼接后解析为列表
先将原列表元素拼接成完整的列表格式字符串,再用ast.literal_eval解析成真正的列表(比eval更安全):
import ast myList = ["['Ben'", " 'Dillon'", " 'Rawr'", " 'Mega'", " 'Tote'", " 'Case']"] joined_str = ''.join(myList) cleaned_list = ast.literal_eval(joined_str) print(cleaned_list) # 输出: ['Ben', 'Dillon', 'Rawr', 'Mega', 'Tote', 'Case'] print(type(cleaned_list)) # 输出: <class 'list'>
ast.literal_eval能安全解析合法的Python字面量,避免了eval带来的安全风险。
内容的提问来源于stack exchange,提问作者Taner
相关产品推荐
相关产品推荐

