python基础之内置函数
参考:
http://www.runoob.com/python/python-built-in-functions.html
-zip()
zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表
实例1:
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)]
实例2:
x = [1, 2, 3]
y = [4, 5, 6, 7]
xy = zip(x, y)
print(xy) #运行的结果是:
#[(1, 4), (2, 5), (3, 6)]
实例3:
x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9] xyz = zip(x, y, z) u = zip(*xyz) print(u) #运行的结果是:
#[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
"""
一般认为这是一个unzip的过程,它的运行机制是这样的:
在运行zip(*xyz)之前,xyz的值是:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
那么,zip(*xyz) 等价于 zip((1, 4, 7), (2, 5, 8), (3, 6, 9))
所以,运行结果是:[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
注:在函数调用中使用*list/tuple的方式表示将list/tuple分开,作为位置参数传递给对应函数(前提是对应函数支持不定个数的位置参数)
"""
实例4:
x = [1, 2, 3]
r = zip(* [x] * 3)
print (r) """
运行的结果是:
[(1, 1, 1), (2, 2, 2), (3, 3, 3)]
它的运行机制是这样的:
[x]生成一个列表的列表,它只有一个元素x
[x] * 3生成一个列表的列表,它有3个元素,[x, x, x]
zip(* [x] * 3)的意思就明确了,zip(x, x, x)
"""
-max()+min()
age_dict = {'age1':20,
'age2':30,
'age3':12,
'age4':56,
'age5':8} print(max(age_dict.values()))
print(list(zip(age_dict.values(),age_dict.keys())))
for item in zip(age_dict.values(),age_dict.keys()):
print(item) print(max(zip(age_dict.values(),age_dict.keys())))
print(min(zip(age_dict.values(),age_dict.keys()))) """
运行结果:
56
[(20, 'age1'), (30, 'age2'), (12, 'age3'), (56, 'age4'), (8, 'age5')]
(20, 'age1')
(30, 'age2')
(12, 'age3')
(56, 'age4')
(8, 'age5')
(56, 'age4')
(8, 'age5')
"""
#bin()将十进制转化为二进制
print(bin(10)) #0b1010 #hex()将十进制转化为十六进制
print(hex(10)) #0xa #oct()将十进制转化为八进制
print(oct(10)) #0o12 #bool() 返回一个值的真假
print(bool(0)) #False
print(bool('hello')) #True #bytes() 转化为二进制编码,要指定原来的编码如 utf8,gbk,gb2312
print(bytes("你好",encoding='utf8')) #b'\xe4\xbd\xa0\xe5\xa5\xbd' #chr() 将一个数字转化为对应的ASCII码值
print(chr(97)) #a
print(chr(65)) #A #ord() 将ASCII对于字符转化为数字
print(ord('a')) # #dir() 查看一个函数的所有方法 或者获得当前模块的属性列表
import time
print(dir(time))
#['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__',
# '__spec__', 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info',
# 'gmtime', 'localtime', 'mktime', 'monotonic', 'perf_counter', 'process_time', 'sleep',
# 'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname'] #divmod() 取余数
print(divmod(10,3)) # #eval() 用来执行一个字符串表达式,并返回表达式的值,或者将类似于字典的字符串转化为字典
x = 3
print(eval('3*x')) #
print(eval('abs(-x)')) #
print(eval("{'kk':'vv'}")) #{'kk': 'vv'} #id() 函数用于获取对象的内存地址
print(id('aa')) #isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()
print(isinstance(1,str)) #False
print(isinstance(1,int)) #True #reverse() 函数用于反向列表中元素
li = [1,3,4,6,8]
li.reverse()
print(li) #[8, 6, 4, 3, 1]