Python 字符串类型列表转换成真正列表类型过程解析
我们在写代码的过程中,会经常使用到for循环,去循环列表,那么如果我们拿到一个类型为str的列表,对它进行for循环,结果看下面的代码和图:
str_list=str(['a','b','c']) forrowinstr_list: print(row)
结果:
Python字符串类型列表转换成真正列表类型
那么for循环就把str类型的列表的每一个字符都一个一个的循环的打印出来,而这个结果并不是我们想要的,那么如何解决这个问题?,使用到第三方模块,看下面的代码
fromastimportliteral_eval #假设拿到了一个str类型的列表 str_list=str(['a','b','c']) print(type(str_list))##通过literal_eval这个函数,将str类型的列表转换成类型为list的真正的列表类型 new_list=literal_eval(str_list) print(type(new_list))# #然后就可以通过for循环获取到列表中的每一个值 forrowinnew_list: print(row) #执行结果 ''' a b c '''
ast的literal函数会判断需要计算的内容计算后是不是合法的python类型,如果是则进行运算,否则就不进行运算
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。