0 前言
1 isinstance()
Python中的 isinstance()
函数,是Python中的一个内置函数,用来判断一个函数是否是一个已知的类型,类似 type()
isinstance()
会认为子类是一种父类类型,考虑继承关系type()
不会认为子类是一种父类类型,不考虑继承关系
isinstance('a', str) # True
2 eval()
eval(str)
作用是将字符串转换成表达式,并且执行
x = input()
print(eval(x))
# 在命令行输入1+2,并按回车,输出3
3 map()
map()
函数会把序列里的每一个元素用指定的方法加工一遍,最终返回给你加工好的序列
map()
函数是系统自带的
a = ['dog', 'monkey', 'bird', 'elephant']
b = map(lambda x:x.upper(), a)
print(list(b))
>>>['DOG', 'MONKEY', 'BIRD', 'ELEPHANT'
4 reversed()
reversed()
函数接受一个序列,将序列里的元素反转,并最终返回迭代器
a = reversed('good morning')
print(list(a))
>>>['g', 'n', 'i', 'n', 'r', 'o', 'm', ' ', 'd', 'o', 'o', 'g']
5 filter()
filter()
函数用于过滤序列,选择符合条件的元素,返回一个迭代器
a = ['dog', 'cat', 'monkey', 'elephant', 'donkey', 'duck']
b = filter(lambda x:'o' in x, a)
print(list(b))
>>>['dog', 'monkey', 'donkey']
6 sorted()
sorted()
函数可以对任何可迭代对象进行排序,并返回列表
# 对列表升序操作
a = sorted([1,9,7,3,5,4,6])
print(a)
>>>[1, 3, 4, 5, 6, 7, 9]
# 对元组倒序操作
a = sorted((1,9,8,7,3,4), reverse=True)
print(a)
>>>[9, 8, 7, 4, 3, 1]
# 使用参数key,根据自定义,按字符串长度来排序:
a = ['dog', 'monkey', 'bird', 'elephant']
b = sorted(a, key=lambda x:len(x))
print(b)
>>>['dog', 'bird', 'monkey', 'elephant']
# 先按照第二个元素再按照第一个元素排序
a=[[12, 34],[23, 56],[47, 12],[23, 90]]
>>> b=sorted(a, key=lambda x:(x[1],x[0]))
7 reduce()
reduce()
会对参数序列中元素进行累积。第一、第二个元素先进行函数操作,生成的结果再和第三个元素进行函数操作,以此类推,最终生成所有元素累积运算的结果
from functools import reduce
a = [1,2,3,4,5,6]
b = reduce(lambda x,y:x*y, a)
print(b)
>>>720