1. 程式人生 > >【python基礎】常用的內建函式 python基礎之內建函式

【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]