day17 内置函数
Posted .
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day17 内置函数相关的知识,希望对你有一定的参考价值。
1.把任意数值转化为字符串有两种方法。
(1)str()用于将数值转化为易于人读的形式。print(str("我是中国人"))>>>我是中国人
(2)repr()用于将数值转化为易于解释器读的形式输出的是字符串的官方标准。str出来的值是给人看的字符串,repr出来的值是给机器看的,括号中的任何内容出来后都是在它之上再加上一层引号。
print(repr("我是中国人"))>>>"我是中国人" 。Python中出现的任何中文,虽然我们在编辑器里看到的是中文,但是背地里全是一串编码。千万不要轻易信任print!print xx给你显示出来的,
其实并不是xx的真实面貌!
2.eval()将字符串str当成有效的表达式来求值并返回计算结果. 不建议用,因为有很大的安全隐患。具体百度。
l="5+8" print(eval(l))
结果:
13
3.exec函数和eval函数类似,也是执行动态语句,只不过eval函数只用于执行表达式求值,而exec函数主要用于执行语句块。
exec("l=5+6") #注意这里不用赋值 print(l)
11
4.内建函数:
list(iterable)把可迭代对象转换成列表
tuple(iterable)把可迭代对象转换成元组
str(obj)把对象转化为字符串(对象的字符串表示法)
5.数据集合:
过滤函数:filter(func or None, iterable): func的作用是判断条件如果是真的,返回True,如果是假的返回Flase, 如果选择的是None,则返回的是可迭代对象的迭代器。
例子:
def is_odd(x):return x%2==0 #这里返回值直接接判断条件和 你先if 再return True 是一样的 ret=filter(is_odd,[1,4,6,7,8,9,12,17]) #这里输入的是函数名而不是调用的函数不需要加括号。 print(list(ret)) #把迭代器转化为列表,千万别忘记了这步。
结果:
[4,6,8,12]
map()函数: map(func,iterable)→迭代器→ new iterable , 和filter不同的是map中的func,接收的是一个计算式,然后它把iterable中的元素拿到计算式中进行计算,最后得到一个包含表达式结果的迭代器。
def is_(x): return x*x ret=map(is_,[1,23,5,6,87,4]) print(list(ret))
结果:
[1, 529, 25, 36, 7569, 16]
sorted()函数:sorted(iterable[, cmp[, key[, reverse]]]) 把iterable中的items进行排序之后,返回一个新的列表,原来的iterable没有任何改变.ist 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
iterable:是可迭代类型;
key:传入一个函数名,函数的参数是可迭代类型中的每一项,根据函数的返回值大小排序;
reverse:排序规则. reverse = True 降序 或者 reverse = False 升序,有默认值。
返回值:有序列表
列表按照其中每一个值的绝对值降序排序
l1 = [1,3,5,-2,-4,-6] l2 = sorted(l1,key=abs,reverse = True) print(l1) print(l2)
结果:
[1, 3, 5, -2, -4, -6] [-6, 5, -4, 3, -2, 1]
zip()拉链函数:函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个的元组,然后返回由这些元组组成的迭代器。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组迭代器。
l1=[1,2,3] l2=[4,5,8,3] print(list(zip(l1,l2)))
print(*(zip(l1,l2)))
结果:
[(1, 4), (2, 5), (3, 8)]
(1, 4), (2, 5), (3, 8)
6.数据函数:
divmod()函数: 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。
print(divmod(3,2))
结果:
(1, 1)
min()函数:
min
(iterable, *[, key, default])
min
(arg1, arg2, *args[, key])
函数功能为取传入的多个参数中的最小值,或者传入的可迭代对象元素中的最小值。默认数值型参数,取值小者;字符型参数,取字母表排序靠前者。还可以传入命名参数key,其为一个函数,用来指定取最小值的方法。default命名参数用来指定最小值不存在时返回的默认值。功能与max函数相反。
print(min(26,7,8,9))
结果
7
同类型之间可以进行比较
print(min([1,2],[1,3]))
[1, 2]
key参数的另外一个作用是,不同类型对象本来不能比较取最小值的,传入适当的key函数,变得可以比较能取最小值了。
print(min(1,2,‘3‘,key = int))
结果:
1