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

yipeiwu_com6年前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设计】。

相关文章

实例分析python3实现并发访问水平切分表

场景说明 假设有一个mysql表被水平切分,分散到多个host中,每个host拥有n个切分表。 如果需要并发去访问这些表,快速得到查询结果, 应该怎么做呢? 这里提供一种方案,...

Python的print用法示例

Python 2.6中print不是函数,而是一个关键字,使用方式如下:复制代码 代码如下:print 1, 2  print 'a', 'b'  显示结果如下,用逗...

python实现简单聊天应用 python群聊和点对点均实现

python实现简单聊天应用 python群聊和点对点均实现

后续代码更新和功能添加会提交到个人github主页,有兴趣可以一起来完善! 如果只是拿过去运行看结果,请注意平台相关性以及python版本号,本示例开发运行平台为win7x86_64 p...

Python简单获取网卡名称及其IP地址的方法【基于psutil模块】

本文实例讲述了Python简单获取网卡名称及其IP地址的方法。分享给大家供大家参考,具体如下: windows上想知道网卡和IP地址,可以使用ipconfig命令,在linux上可以使用...

Python读写Json涉及到中文的处理方法

今天在帮前端准备数据的时候,需要把数据格式转成json格式,说实话,涉及到中文有时候真的是很蛋疼,除非对Python的编码规则比较了解,不然处理起来真的很蛋疼。 整个逻辑 我们需要处理的...