PYTHON学习0030:函数---内置方法----2019-6-23
2020-12-13 03:23
标签:多行 error lambda 截取 str tmp ice 布尔 err 实例 myslice = slice(5) # 设置截取5个元素的切片 10、divmod()接收2个数字,把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。 sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。 sorted(iterable, key=None, reverse=False) iterable -- 可迭代对象。 实例 sorted([5, 2, 3, 1, 4]) a=[5,2,3,1,4] sorted({1: ‘D‘, 2: ‘B‘, 3: ‘B‘, 4: ‘E‘, 5: ‘A‘}) example_list = [5, 0, 6, 1, 2, 7, 3, 4] 要进行反向排序,也通过传入第三个参数 reverse=True: example_list = [5, 0, 6, 1, 2, 7, 3, 4] 12、eval():用来执行一个字符串表达式,并返回表达式的值。只能处理单行代码。 foo() exec(code) res=exec("1+3+3") 输出结果为: ord(‘a‘) 16、sum():求和函数。 def square(x) : # 计算平方数 map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]) 该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。 过滤出列表中的所有奇数: def is_odd(n): tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) [1, 3, 5, 7, 9] 用法和map()函数差不多。 reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4) from functools import reduce 但是如果要把序列[1, 3, 5, 7, 9]里的元素相乘,reduce就可以派上用场: res=reduce(fn, [1, 3, 5, 7, 9]) 20、pow():求数字的幂数。 PYTHON学习0030:函数---内置方法----2019-6-23 标签:多行 error lambda 截取 str tmp ice 布尔 err 原文地址:https://blog.51cto.com/13543767/2412475
.
1、abs():取绝对值。举例:
print "abs(-45) : ", abs(-45)
输出结果为:
abs(-45) : 45
2、dict():吧一个数据转成字典。
3、min()从一个列表里取最小值。max()从列表里取出最大值。
4、all()用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
元素除了是 0、空、None、False 外都算 True。
5、bool():只能接收一个参数,用于将给定参数转换为布尔类型,如果参数是 0、空、None、False,返回 False。bool 是 int 的子类。
6、any():函数用于判断给定的可迭代参数 iterable 是否全部为 False,全部是则返回 False,如果有一个为 True,则返回 True。
元素除了是 0、空、FALSE 外都算 TRUE。
7、dir():函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法。
如果参数包含方法dir(),该方法将被调用。如果参数不包含dir(),该方法将最大限度地收集参数信息。
8、hex():函数用于将10进制整数转换成16进制,以字符串形式表示。
9、slice():函数实现切片对象,主要用在切片操作函数里的参数传递。
slice 语法:
class slice(stop)
class slice(start, stop[, step])
参数说明:start -- 起始位置;stop -- 结束位置;step -- 间距
返回值:
返回一个切片对象。
以下实例展示了 slice 的使用方法:
myslice
slice(None, 5, None)
arr = range(10)
arr
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
arr[myslice] # 截取 5 个元素
[0, 1, 2, 3, 4]
11、sorted():函数对所有可迭代的对象进行排序操作。
语法
sorted 语法:
参数说明:
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
返回值:
返回重新排序的列表。
以下实例展示了 sorted 的最简单的使用方法:
[1, 2, 3, 4, 5] # 默认为升序
你也可以使用 list 的 list.sort() 方法。这个方法会修改原始的 list(返回值为None)。通常这个方法不如sorted()方便-如果你不需要原始的 list,list.sort()方法效率会稍微高一些。
a.sort()
a
[1,2,3,4,5]
另一个区别在于list.sort() 方法只为 list 定义。而 sorted() 函数可以接收任何的 iterable。
[1, 2, 3, 4, 5]
利用key进行倒序排序
result_list = sorted(example_list, key=lambda x: x*-1)
print(result_list)
[7, 6, 5, 4, 3, 2, 1, 0]
sorted(example_list, reverse=True)
[7, 6, 5, 4, 3, 2, 1, 0]
13、exec():用来执行一个字符串表达式,但不返回表达式的值。能处理多行代码
比如以下代码:
code=‘‘‘
def foo():
print("run foo")
return 1234
‘‘‘
res=exec(code)
print(res)
输出结果为:
run foo
run foo
None
也就是exec函数可以执行括号里的表达式,但是没有返回值,或者返回None。
又如:
res=eval("1+3+3")
print(res)
print(res)
7
None
14、ord():它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。
97
ord(‘b‘)
98
ord(‘c‘)
99
15、chr():返回当前接收整数的对应的 ASCII 字符。
chr(97)
‘a‘
17、bytearray():一般来讲字符串里的元素是不能被修改的,但本函数可以通过先吧字符串转变为utf-8字符集,再修改,以达到修改字符串的目的。这个是在内存地址层面的修改,也就是内存地址没有变,不是重新赋值。
17、map(): 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
实例:
以下实例展示了 map() 的使用方法:
... return x 2
...
map(square, [1,2,3,4,5]) # 计算列表各个元素的平方
[1, 4, 9, 16, 25]
map(lambda x: x 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]提供了两个列表,对相同位置的列表数据进行相加
[3, 7, 11, 15, 19]
18、filter():函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。
以下展示了使用 filter 函数的实例:
return n % 2 == 1
newlist = list(tmplist)
print(newlist)
输出结果 :
19、reduce():reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:
比方说对一个序列求和,就可以用reduce实现:
def add(x, y):
... return x + y
...
reduce(add, [1, 3, 5, 7, 9])
25
当然求和运算可以直接用Python内建函数sum(),没必要动用reduce。
from functools import reduce
def fn(x, y):
return x * y
print(res)
输出为945。
pow(8,3)=512。
21、print()
上一篇:win8.1 uefi引导
下一篇:SpringMVC源码-执行流程
文章标题:PYTHON学习0030:函数---内置方法----2019-6-23
文章链接:http://soscw.com/essay/27509.html