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

相关文章

python实现图片二值化及灰度处理方式

我就废话不多说了,直接上代码吧! 集成环境:win10 pycharm #!/usr/bin/env python3.5.2 # -*- coding: utf-8 -*- ''...

python实现感知机线性分类模型示例代码

python实现感知机线性分类模型示例代码

前言 感知器是分类的线性分类模型,其中输入为实例的特征向量,输出为实例的类别,取+1或-1的值作为正类或负类。感知器对应于输入空间中对输入特征进行分类的超平面,属于判别模型。 通过梯度...

PyTorch: 梯度下降及反向传播的实例详解

PyTorch: 梯度下降及反向传播的实例详解

线性模型 线性模型介绍 线性模型是很常见的机器学习模型,通常通过线性的公式来拟合训练数据集。训练集包括(x,y),x为特征,y为目标。如下图: 将真实值和预测值用于构建损失函数,训练的...

Python中的ceil()方法使用教程

 ceil()方法返回x的值上限 - 不小于x的最小整数。 语法 以下是ceil()方法的语法: import math math.ceil( x ) 注意:此函数...

Python之列表的插入&替换修改方法

用例子说明 fruit = ['pineapple','grape','pear'] fruit[0:0] = ['Orange'] #在fruit集合中第一位插入字符串'Ora...