python 常用内置函数

内置函数

zip(拉链)

拉链函数(像拉链一样相互咬合)
参数必须是可迭代的对象,可以有多个参数,返回的对象也是可迭代对象

一个参数
l = [1, 2, 3, 4, 5, 6]
res = zip(l)
print(type(res))
print(list(res)) # [(1,), (2,), (3,), (4,), (5,), (6,)]
# 返回的是一个个元组(这个只是我把它转换成了list形式的,里面包裹了元组)

二个参数
l1 = [1, 2, 3, 4, 5, 6, 7]
l2 = 'abcdef'
res = zip(l1,l2)
print(res)
print(list(res)) # [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e'), (6, 'f')]
warnings:如果两个可迭代对象的长度不一致,以短的位置(木桶原理)


多个个参数
a = 'abcdef'
b = [1,23,45,56]
c = ('d','E','F','Z')
res =zip(a,b,c)
print(list(res)) # [('a', 1, 'd'), ('b', 23, 'E'), ('c', 45, 'F'), ('d', 56, 'Z')]

map(映射)

必须是不少于两参数,有一个必须是func,一个是可迭代数据类型

l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
res = map(lambda x: x ** 2, l)
print(list(res)) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]


filter(过滤)

不少于俩个参数,第一个必须是func,第二个是可迭代对象,一般函数最好是判断数据类型的
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

res = filter(lambda x: x % 2 == 0,l)
print(tuple(res))

max(比较大小)

可以一次性比较多个值
res = max(1,2,3,4,5,6)
print(res)

l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
res1 = max(l)

dic = {'a':49, 'b':7, 'c':18, 'ee':38}
res1 = max(dic)
print(res1) # ee

res 2 = max(dic,key=lambda x:dic[x])
print(res2)  # a

sorterd(排序)

# 排序
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
res = sorted(l)
print(res)

# 有函数参数的比较
# 英文字符比较的是十进制的大小

dic = {'a':3,'d':28,'e':36}
res = sorted(dic)
pritn(res) # ['a', 'd', 'e']
如果是字典的话比较的是key

用函数比较的是values
dic = {'a':3,'d':28,'e':36}
res = sorted(dic,key=lambda x: dic[x])
print(res) # ['a', 'd', 'e']


dic = {'a':83,'d':98,'e':36}
res = sorted(dic,key=lambda x: dic[x])
print(res) ['e', 'a', 'd']

reversed(反转)

l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
res = reversed(l)
print(list(res)) # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

lis = ['a','d','e','g','z','c']
res = reversed(lis)
print(list(res)) # ['c', 'z', 'g', 'e', 'd', 'a']
posted @ 2020-06-26 21:49  为了等  阅读(162)  评论(0编辑  收藏  举报