4.7.3 內建函式(2)
int() str() bool() set() list():將乙個可迭代物件轉化為列表 tuple():將乙個可迭代物件轉換成元組
dic(): 通過相應的方式建立字典
print()輸出到螢幕
原始碼
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=false)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=false)
file: 預設是輸出到螢幕,如果設定為檔案控制代碼,輸出到檔案
sep: 列印多個值之間的分隔符,預設為空格
end: 每一次列印的結尾,預設為換行符
flush: 立即把內容輸出到流檔案,不作快取
abs()返回絕對值#示例
print(1,2,3,4,sep= ',') #列印多個值之間的分隔符,預設為空格
print(111,end='-') #每一次列印的結尾,預設為換行符
print(222)
#輸出1,2,3,4
111-222
print(abs(-100)) #輸出100
sum()數字相加求和
不支援元素巢狀型別的
min()最小值print(sum((1,2,3,4))) # 輸出 10
print(sum((1,2,3),100)) # 輸出 106
print(sum(([1,2,3],2,3)))
# 輸出報錯 typeerror: unsupported operand type(s) for +: 'int' and 'list'
比較數值大小,比較的物件必須是同型別的元素
可以加key,靈活比較元素;加key是可以加函式名,min自動會獲取傳入函式中的引數的每個元素,然後通過你設定的返回值比較大小,返回最小的傳入的那個引數。print(min(1,2,3,4,5)) # 輸出 1
print(min([1,2,3,4])) # 輸出 1
print(min((1,2,3,4),6,7)) #輸出報錯,不同元素型別不能比較大小
#typeerror: '<' not supported between instances of 'int' and 'tuple'
加key的練習#當沒有指定比較元素時,會預設比較第乙個元素
print(min((1,2,3,4),(6,7))) #輸出 (1,2,3,4)
print(min((8,2,3,4),(6,7))) #輸出 (6,7)
#加key可以指定比較兩個元組的第三個位置數值的大小
print(min((8,2,3,4),(6,7,11),key=lambda x:x[2])) #輸出(8, 2, 3, 4)
#還可以直接輸出第三個位置上的最小值
print(min((8,2,3,4),(6,7,11),key=lambda x:x[2])[2]) #輸出3
max()最大值# list = [
# ,
# ,
# ,
# ]# # 將年齡最小的 字典返回。
print(min(list,key=lambda x : x['age'])) #輸出
# # 將年齡最小的名字返回。
print(min(list,key=lambda x : x['age'])['name']) #輸出 太白
# # 將年齡最小的年齡返回。
print(min(list,key=lambda x : x['age'])['age']) #輸出 25
用法語min一樣
bytes() 把字串轉換成bytes型別
zip()拉鍊#把字元轉成位元組
#方法一:
s = '德瑪'
x = s.encode('utf-8')
print(x)
#輸出 b'\xe5\xbe\xb7\xe7\x8e\x9b'
#方法二:
print(bytes(s,encoding='utf-8'))
#解碼b = b'\xe5\xbe\xb7\xe7\x8e\x9b'
#方法一:
print(b.decode('utf-8'))
#方法二:使用str轉換成字串
print(str(b,encoding='utf-8'))
zip()用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元祖組成的內容,如果各個迭代器的元素個數不一致,則按照長度最短的返回。
sorted()排序函式l1 = [1,2,3,4]
l2 = ['a','s','b']
l3 = ('喝','汽','水','吧')
print(zip(l1,l2,l3)) #返回的時乙個迭代器的記憶體位址
#輸出print(list(zip(l1,l2,l3)))
#輸出[(1, 'a', '喝'), (2, 's', '汽'), (3, 'b', '水')]
預設從小到大
reverse = true表示從大到小排序
普通版:
對可迭代物件的每乙個元素進行排序,以新的列表的形式輸出
帶key版print(sorted((4,2,3,4)))
#輸出 [2, 3, 4, 4]
print(sorted('34231'))
#輸出 ['1', '2', '3', '3', '4']
根據想要hi教的內容配合函式進行排序
sorted同樣可以配合函式和lambda進行排序l1 = [('蓋倫', 80), ('皇子', 75), ('女警', 7), ('趙信', 59)]
#按照數字進行排序
print(sorted(l1,key=lambda x:x[1]))
#按照數字倒序排序
print(sorted(l1,key=lambda x:x[1],reverse=true))
# 字典排序返回的就是排序後的key
dic =
print(sorted(dic))
filter()篩選過濾lst = [,,,]
#按照年齡進行排序
print(sorted(lst,key=lambda x:x['name']))
語法: filter(function,iterable)
function: 用來篩選的函式,在filter中會自動的把iterable中的元素傳遞給function,然後根據function返回的true或者false來判斷是否保留此項資料
iterable:可迭代物件
filter()返回乙個生成器
map()lst = [,,,]
#篩選年齡小於30的
print(list(filter(lambda x:x['age']<30,lst)))
#按步篩選
ret = filter(lambda x:x['age']>20,lst)
print(next(ret))
print(next(ret))
對映函式
語法: map(function,iterable) 可以對可迭代物件中的每乙個元素進對映,分別取執行function
返回乙個生成器,要用next觸發map()
# map 返回乙個迭代器,相當於生成器表示式:迴圈模式
l1 = [6,7,8,9]
print([i**2 for i in l1]) #輸出[36, 49, 64, 81]
print(map(lambda x:x**2,l1)) #輸出print(list(map(lambda x:x**2,l1))) #輸出[36, 49, 64, 81]
reduce計算兩個列表中相同位置的資料的和
lst1 = [1, 2, 3, 4, 5]
lst2 = [2, 4, 6, 8, 10]
print(list(map(lambda x, y: x+y, lst1, lst2)))
#輸出[3, 6, 9, 12, 15]
reduce的作用是先把列表中的前倆個元素取出計算出乙個值然後臨時儲存著,接下來用這個臨時儲存的值和列表中第三個元素進行計算,求出乙個新的值將最開始臨時儲存的值覆蓋掉,然後在用這個新的臨時值和列表中第四個元素計算,以此類推。
在python2.x版本中recude是直接 import就可以的, python3.x版本中需要從functools這個包中匯入
python2中使用方法
語法:reduce(函式名,可迭代物件)
python3中使用ret = reduce(func,[3,4,5,6,7])
print(ret) #輸出25
from functools import reduce
print(reduce(lambda x,y : x+y,[1,2,3,4])) #輸出10
print(reduce(lambda x,y : 2*x+y,[1,2,3])) #輸出11
print(reduce(lambda x,y :x+y,['a','b','c','s'])) #輸出abcs
二 python語法之內置函式
目錄 輸入 name input 請輸入您的姓名 返回字串 輸出 print hello name 格式化輸出 print 2d 02d 1,1 1 01 print a 1,sep end a,1 format格式化輸出 print format a b a,b print format a a ...
python之內置函式
非空即真,非0即真 記住這句話可以讓你少寫好多 l asdfgwert3r 1 sorted l 排序 字串可以直接使用sorted排序 2 all 如果list裡面都為真的情況返回為 true all 1 2,3 4 print true all 1 2,3 0 print false all 1...
python之內置函式
它將兩個 非複數 數字作為實參,並在執行整數除法時返回一對商和餘數。對於混合運算元型別,適用雙目算術運算子的規則。對於整數,結果和 a b,a b 一致,分別對應取整數和取餘數 對於浮點數,結果是 q,a b q 通常是 math.floor a b 但可能會比 1 小。如 將153拆解 a,b d...