eval()函数和zip()函数用法enumerate()

Posted 月疯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eval()函数和zip()函数用法enumerate()相关的知识,希望对你有一定的参考价值。

str():把字典、元组、列表转换为字符串

eval():字符串转换为字典、元组、列表

eval是Python的一个内置函数,这个函数的作用是,返回传入字符串的表达式的结果。即变量赋值时,等号右边的表示是写成字符串的格式,返回值就是这个表达式的结果。

eval(expression[, globals[, locals]])

expression : 表达式。

globals : 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。

locals : 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

当后两个参数都为空时,很好理解,就是一个string类型的算术表达式,计算出结果即可。等价于eval(expression)。

当locals参数为空,globals参数不为空时,先查找globals参数中是否存在变量,并计算。

当两个参数都不为空时,先查找locals参数,再查找globals参数。

1、简单表达式


print(eval('1+2'))


输出结果:3


2、字符串转字典


print(eval("'name':'linux','age':18")


输出结果:'name':'linux','age':18


3、传递全局变量


print(eval("'name':'linux','age':age","age":1822))


输出结果:'name': 'linux', 'age': 1822


4、传递本地变量


age=18


print(eval("'name':'linux','age':age","age":1822,locals()))


输出结果:'name': 'linux', 'age': 18

 zip函数for循环使用:

for循环里zip()函数用来并行遍历列表,输出数据

A = ['python','java','c++','abc']
B = ['a','b','c','d']
for i,j in zip(A,B):
    print(i,j)

i和j是A和B对应的元素。 

 enumerate()函数:

 for循环里enumerate()函数是一个枚举函数,用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。

A = ['python','java','c++','abc']
for i,val in enumerate(A):
    print(i,val)

 i是下标,val是数据。

zip函数用法:

zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表

x = [1, 2, 3]

y = [4, 5, 6]

z = [7, 8, 9]

xyz = zip(x, y, z)

print xyz

 运行的结果是:

[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

 

以上是关于eval()函数和zip()函数用法enumerate()的主要内容,如果未能解决你的问题,请参考以下文章

python中eval()函数和input()函数用法解析

JavaScript eval() 函数的用法

Ajax中的eval函数的用法

Python eval()函数的用法

eval()与exec() 的基本用法

eval()与exec() 的基本用法