Python 字符串类型列表转换成真正列表类型过程解析

(编辑:jimmy 日期: 2024/9/26 浏览:2)

我们在写代码的过程中,会经常使用到for循环,去循环列表,那么如果我们拿到一个类型为str的列表,对它进行for循环,结果看下面的代码和图:

str_list = str(['a','b','c'])

for row in str_list:
  print(row)

结果:

Python 字符串类型列表转换成真正列表类型

那么for循环就把str类型的列表的每一个字符都一个一个的循环的打印出来,而这个结果并不是我们想要的,那么如何解决这个问题?,使用到第三方模块,看下面的代码

from ast import literal_eval
# 假设拿到了一个str类型的列表
str_list = str(['a','b','c'])
print(type(str_list)) # <class 'str'>
# 通过 literal_eval 这个函数,将str类型的列表转换成类型为list的真正的列表类型
new_list = literal_eval(str_list)
print(type(new_list)) # <class 'list'>
# 然后就可以通过for循环获取到列表中的每一个值
for row in new_list:
   print(row)
# 执行结果
'''
a
b
c
'''

ast 的literal函数 会判断需要计算的内容计算后是不是合法的python类型,如果是则进行运算,否则就不进行运算

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。