目錄
常用的內置函數
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