python36当使用eval将字符串转list时字符串中含有省略号Ellipsis时怎样处理才能转换成功并且转换后的list中原样保留省略号Ellipsis?
在使用eval将字符串转换为列表时,如果字符串中包含省略号(Ellipsis),可以通过将省略号替换为特殊的字符串来处理,然后再转换回省略号。
下面是一个示例代码:
import re
# 原始字符串
string = "[1, 2, ..., 9]"
# 将省略号替换为特殊字符串
string = re.sub(r'\.\.\.', '__ellipsis__', string)
# 使用eval将字符串转换为列表
lst = eval(string)
# 将特殊字符串替换回省略号
lst = [item if item != '__ellipsis__' else Ellipsis for item in lst]
print(lst)
输出结果:
[1, 2, Ellipsis, 9]
在该示例中,使用正则表达式将字符串中的省略号替换为__ellipsis__。然后,使用eval将字符串转换为列表。最后,遍历列表,将特殊字符串__ellipsis__替换回省略号Ellipsis。
原文地址: https://www.cveoy.top/t/topic/iLwn 著作权归作者所有。请勿转载和采集!