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()的主要内容,如果未能解决你的问题,请参考以下文章