【Lemon】Python的內置函數

目錄

 

常用的內置函數

內置函數type()

內置函數range()

內置函數min()

內置函數max()

內置函數sum()

內置函數enumerate()

內置函數filter()

匿名函數lambda

內置函數eval()

內置函數zip()


常用的內置函數

type():查看數據的類型

id(): 查看數據的內存地址

len():查看數據的長度

range(): 生成數據

min()獲取最小值;只能對一組數據進行操作,不能對字符串進行操作。

max()獲取最大值;只能對一組數據進行操作,不能對字符串進行操作。

sum()求和;只能對一組數據進行操作,不能對字符串進行操作。

enumerate()獲取數據的索引和值

filter(參數1, 參數2)過濾函數

匿名函數:lambda 函數參數: 返回值

eval():能夠識別字符串中的有效python表達式

zip()聚合打包

 

內置函數type()

示例:

str1 = 'hello'

print(type(str1)) # 輸出結果:<class 'str'>

 

內置函數range()

range(n): 默認生成0 ~ n-1的整數序列。對於這個序列,我們可以通過list()轉化爲列表類型的數據。

range(n, m):左閉右開,默認生成從n ~ m-1的整數序列。 對於這個序列,我們可以通過list()轉化爲列表類型的數據。

range(n, m , k):左閉右開,n初始值,m-1結束值, k步長, 遞增或者遞減的整數序列。

                 默認生成從n ~ m-1,並且間隔k的整數序列。 對於這個序列,我們可以通過list()轉化爲列表類型的數據。

 

示例:

print(list(range(10))) # 輸出結果: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print(list(range(1, 10))) # 輸出結果: [1, 2, 3, 4, 5, 6, 7, 8, 9]

print(list(range(2, 8, 2))) # 輸出結果: [2, 4, 6]



print(list(range(101, 5, -5)))

# 輸出結果: [101, 96, 91, 86, 81, 76, 71, 66, 61, 56, 51, 46, 41, 36, 31, 26, 21, 16, 11, 6]



print(list(range(5, 101, 5)))

# 輸出結果: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100]

 

 

內置函數min()

 

min()獲取最小值;只能對一組數據進行操作,不能對字符串進行操作。

示例:

tu = (11, 22, 33)

print('獲取元組中的最小值:', min(tu))

li = [345, 789, 890]

print('獲取列表中的最小值:', min(li))

dic = {'a': 1, 'b': 9}

print(min(dic.values()))

 

內置函數max()

max()獲取最大值;只能對一組數據進行操作,不能對字符串進行操作。

示例:

tu = (11, 22, 33)

print('獲取元組中的最大值:', max(tu))

li = [345, 789, 890]

print('獲取列表中的最大值:', max(li))

dic = {'a': 1, 'b': 9}

print(max(dic.values()))

 

內置函數sum()

sum()求和;只能對一組數據進行操作,不能對字符串進行操作。

示例:

tu = (11, 22, 33)

print('獲取元組中元素之和:', sum(tu))

li = [345, 789, 890]

print('獲取列表中元素之和:', sum(li))

dic = {'a': 1, 'b': 9}

print(sum(dic.values()))

 

 

內置函數enumerate()

enumerate()獲取數據的索引和值

示例:

dic = {'a': 1, 'b': 9}

li = [345, 789, 890]

tu = (11, 22, 33)

print(list(enumerate(tu)))

# 輸出結果:[(0, 11), (1, 22), (2, 33)]



print(list(enumerate(li)))

# 輸出結果:[(0, 345), (1, 789), (2, 890)]



print(list(enumerate(dic)))

# 輸出結果:[(0, 'a'), (1, 'b')]

 

內置函數filter()

filter(參數1, 參數2)

參數1:函數(過濾的規則)

參數2:需要過濾的數據

filter會根據參數-函數的返回值是True還是False來決定數據要不要過濾

示例:

li = [11, 22, 34, 6, 345, 789, 890]

def fun(x):

    return x > 50

res = filter(fun, li)

print(list(res))

 

匿名函數lambda

匿名函數:lambda 函數參數: 返回值

應用場景:一般用於非常簡單的函數(函數內部只有一行代碼)

    比如:結合過濾器filter()使用(當成別的函數的參數)

示例:

li = [11, 22, 34, 6, 345, 789, 890]

res = filter(lambda x: x>50, li)

print(list(res))



li1 = [11, 22, 34, 6, 345, 789, 890]

li2 = [11, 22, 33, 44, 565, 890, 789, 5, 6, 7, 8]

print(list(filter(lambda x: x in li1, li2)))



print(list(filter(lambda x: x % 5 == 0, range(101))))

 

內置函數eval()

eval():能夠識別字符串中的有效python表達式

示例:

str1 = "{'a': 1, 'b': 2, 'c': 3}"

print(type(str1))

# 輸出結果:<class 'str'>

print(type(eval(str1)))

# 輸出結果:<class 'dict'>



str2 = "[11, 22, 33, 44]"

print(type(eval(str2)))

# 輸出結果:<class 'list'>



# 如果eval需要識別的字符串裏面是個變量名,會打印出變量對應的值

b = 111

str3 = 'b'

print(eval(str3))

# 輸出結果:111



# 注意點:只能去掉一層引號

str4 = "'bcd'"

print(eval(str4))

# 輸出結果:bcd

 

內置函數zip()

zip()聚合打包

注意:zip對象只能進行一次強制轉換

示例:

li1 = ['name', 'age', 'gender']

li2 = ['flora', 18, 'female']

res = zip(li1, li2)

print(dict(res))

# 輸出結果:{'name': 'flora', 'age': 18, 'gender': 'female'}

res1 = zip(li1, li2)

print(list(res1))

# 輸出結果:[('name', 'flora'), ('age', 18), ('gender', 'female')]



# 按照順序一一對應,長度不一致的情況下,只取最短的

li3 = ['name', 'age', 'gender', 'info']

li4 = ['flora', 18, 'female']

res2 = zip(li3, li4)

print(dict(res2))

# 輸出結果:{'name': 'flora', 'age': 18, 'gender': 'female'}

res3 = zip(li3, li4)

print(list(res3))

# 輸出結果:[('name', 'flora'), ('age', 18), ('gender', 'female')]

 

zip()的擴展

li1 = [11, 22, 33, 44]

li2 = [1, 2, 3, 4, 5]

li3 = [111, 222, 333, 444, 555]

li4 = [11, 12, 13, 14, 15]



res1 = zip(li1, li2, li3, li4)

print(tuple(res1)) # 輸出結果:[(11, 1, 111, 11), (22, 2, 222, 12), (33, 3, 333, 13), (44, 4, 444, 14)]



res2 = zip(li1, li2, li3, li4)

print(list(res2)) # 輸出結果:((11, 1, 111, 11), (22, 2, 222, 12), (33, 3, 333, 13), (44, 4, 444, 14))



res3 = zip(li1, li2, li3, li4)

print(dict(res3)) # 報錯:ValueError: dictionary update sequence element #0 has length 4; 2 is required
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章