python 内置函数二用法总结
一、enumerate()
说明:
1、python内置函数
2、在字典上市枚举、列举
3、对一个可迭代可遍历的对象(如列表、字符串),可将其组成一个索引序列,利用它同时获取索引和值
实例:对一个列表,既要遍历索引又要遍历元素,则可以如下写法:
list =['a','b','c','d','e','f']
for id,i in enumerate(list):
print (id,i)
>>>
0 a
1 b
2 c
3 d
4 e
5 f
enumerate可以接受第二个参数用于指定索引起始值
实例
list =['a','b','c','d','e','f']
for id,i in enumerate(list,1):
print ('%s => %s'%(id,i))
>>>
1 => a
2 => b
3 => c
4 => d
5 => e
6 => f
二、zip()
说明:
1、zip() 函数用于将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象。
2、如果各个可迭代对象的元素个数不一致,则返回的对象长度与最短的可迭代对象相同。
3、利用 * 号操作符,与zip相反,进行解压。
4、zip(iterable1,iterable2)--iterable:一个或多个可迭代对象(字符串、列表、元组、字典)
5、Python2中直接返回一个由元组组成的列表,Python3中返回的是一个对象,如果想要得到列表,可以用 list() 函数进行转换。
实例:
list1 = ['xiaoming','xiaobai','xiaohei']
list2 = [110,120,130]
list3 = [1,2,3]
res = list(zip(list1,list2,list3)) #使用list()函数转换为列表,[('xiaoming', 110, 1), ('xiaobai', 120, 2), ('xiaohei', 130, 3)]
print(res)
print(list(zip(*res))) #解压也使用list进行转换,[('xiaoming', 'xiaobai', 'xiaohei'), (110, 120, 130), (1, 2, 3)]
三、exec()
说明:
1、动态执行python代码,可以执行复杂的python代码
2、exec(object[, globals[, locals]]),object是必选参数,被指定的代码,必须是字符串或code对象。
3、返回值为None
实例:
code = '''def func():print('a')'''
exec(code) #
a = exec(code)
print(a) #None
四、eval()
说明:
1、计算指定表达式的值。
2、eval不支持任意形式的赋值操作,不能是复杂的代码逻辑
3、eval(source,globals=None,locals=None),source是必选参数,可以是字符串或code对象的实例
4、source是一个输出语句,如print(),返回结果为NONe
5、source表达式的结果就是eval()函数返回结果
实例:
y=2
# print('a:',eval('y**2'))
#执行简单的python代码
l = eval("print('a')")
print(l) #print不是表达式,返回None
五、ascii转换
print(chr(64))#打印64数字对应的ascii码
print(ord('A'))#打印字符串对应的ascii码