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

yipeiwu_com5年前Python基础

我们在写代码的过程中,会经常使用到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类型,如果是则进行运算,否则就不进行运算

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django model update的多种用法介绍

Django model update的多种用法介绍

model update常规用法 假如我们的表结构是这样的 class User(models.Model): username = models.CharField(max_le...

盘点提高 Python 代码效率的方法

第一招:蛇打七寸:定位瓶颈 首先,第一步是定位瓶颈。举个简单的栗子,一个函数可以从1秒优化到到0.9秒,另一个函数可以从1分钟优化到30秒,如果要花的代价相同,而且时间限制只能搞定一个,...

django连接mysql配置方法总结(推荐)

最近在学习django,学到第五章模型时,需要连接数据库,然后,在这里分享一下方法。 起初是不知道怎样配置mysql数据库,但是还好,django的官网上面有相关的配置方法,下面就直接...

浅谈Python的文件类型

浅谈Python的文件类型

Python的文件类型主要分为3种:源代码(source file)、字节码(byte-code file)、优化的字节码(optimized file)。这些代码都可以直接运行,不需要...

matplotlib 输出保存指定尺寸的图片方法

其实这个问题来源于笔者的横坐标太多了,然后生成的那个figure框框太小,导致坐标重叠,而输出的图片是需要批量保存的,总不能每次都拉长截图吧 所以在plot绘图之前加上了一句 plt...