【python基础】常用的内置函数 python基础之内置函数

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'))    #97

#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))    #1

#eval() 用来执行一个字符串表达式,并返回表达式的值,或者将类似于字典的字符串转化为字典
x = 3
print(eval('3*x'))  #9
print(eval('abs(-x)'))  #3
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]

猜你喜欢

转载自www.cnblogs.com/XJT2018/p/10003229.html