1. 程式人生 > >內置函數二

內置函數二

encoding 存儲 tuple () 網絡編程 n) ict 正常的 數據集

1)基礎數據類型相關

和數據結構相關

序列:

1.列表和元組

列表:list

元組:tuple

2.相關內置函數

reversed:
reversed()
l = [1,2,3,4,5]
l.reverse()
print(l)
l = [1,2,3,4,5]
l2 = reversed(l)
print(l2)
保留原列表,返回一個反向的叠代器

slice:

l = (1,2,23,213,5612,342,43)
sli = slice(1,5,2)
print(l[sli])
print(l[1:5:2])

3.字符串

str:

數字類型

format:

print(format(
test, <20)) print(format(test, >40)) print(format(test, ^40))

bytes:

bytes 轉換成bytes類型
我拿到的是gbk編碼的,我想轉成utf-8編碼
print(bytes(你好,encoding=GBK))     # unicode轉換成GBK的bytes
print(bytes(你好,encoding=utf-8))   # unicode轉換成utf-8的bytes

bytearry:

網絡編程 只能傳二進制
照片和視頻也是以二進制存儲
html網頁爬取到的也是編碼
b_array 
= bytearray(你好,encoding=utf-8) print(b_array) print(b_array[0]) \xe4\xbd\xa0\xe5\xa5\xbd s1 = alexa s2 = alexb

memoryview:

ord:

字符按照unicode轉數字

print(ord())
print(ord(1))
結果:22909
         49  

chr:

數字按照unicode轉字符

print(chr(97))
結果:a

ascii:

只要是ascii碼中的內容,就打印出來,不是就轉換成\u

print(ascii(
)) print(ascii(1)) 結果:a \u597d 1

repr:

用於%r格式化輸出

name = egg
print(你好%r%name)
print(repr(1))
print(repr(1))

數據集合

1.字典:

dict

2.集合:

set:無序排序且不重復,是可變的。

frozenset:是凍結的集合,他是不可變的,存在哈希值。

相關內置函數

len:長度

sorted:排序,可以定義。

列表按照其中每一個值的絕對值排序
l1 = [1,3,5,-2,-4,-6]
l2 = sorted(l1,key=abs)
print(l1)
print(l2)

列表按照每一個元素的len排序
l = [[1,2],[3,4,5,6],(7,),123]
print(sorted(l,key=len))

enumerate:枚舉

all:只要有一個空的就返回False,全部不為空就返回True。

print(all([a,‘‘,123]))
print(all([a,123]))
print(all([0,123]))
結果:False
    True
    False

any:只要有一個為真就返回True。

print(any([‘‘,True,0,[]]))
結果:True

zip:拉鏈函數

l = [1,2,3,4,5]
l2 = [a,b,c,d]
l3 = (*,**,[1,2])
d = {k1:1,k2:2}
for i in zip(l,l2,l3,d):
    print(i)

filter:

執行了filter之後的結果集合 <= 執行之前的個數

filter只管篩選,不會改變原來的值


map:

執行前後元素個數不變

值可能發生改變

二、匿名函數

匿名函數:為了解決那些功能很簡單的需求而設計的一句話函數

#這段代碼
def calc(n):
    return n**n
print(calc(10))
 
#換成匿名函數
calc = lambda n:n**n
print(calc(10))
函數名 = lambda 參數 :返回值

#參數可以有多個,用逗號隔開
#匿名函數不管邏輯多復雜,只能寫一行,且邏輯執行結束後的內容就是返回值
#返回值和正常的函數一樣可以是任意數據類型

註:max min sorted filter map 只有這五個函數才能使用匿名函數。

內置函數二