需要区分对比的函数以及函数小结

在内置函数中个,有几组函数长的特别像,功能也有些相似,我们需要加以区分。

1.reverse()和reversed()

reserve():将列表中的元素反向,直接作用在原对象上,没有返回值。

reserved():倒序从一个可迭代对象中取值,返回一个迭代器。

reverse()处理的只能是列表,reserved()处理的是所有的可迭代对象。

>>> list1 = [2,4,1,6]
>>> st1 = "2416"
>>> tu1 = (2,4,1,6)

>>> list1.reverse()
>>> list1
[6, 1, 4, 2]     #直接作用在原对象上
>>> st1.reverse()    #是列表特有的方法
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no attribute 'reverse'

>>> reversed(list1)  #作用于可迭代对象
<list_reverseiterator object at 0x7f992b6facc0>
>>> reversed(st1)
<reversed object at 0x7f992b6faa90>  
>>> st1
'2416'
>>> gg = reversed(st1)
>>> "__next__" in dir(gg)   #返回的是一个迭代器
True
>>> list(reversed(st1))
['6', '1', '4', '2']

2 sort()和sorted()

sort():列表所特有的方法,将列表的元素排序,直接作用在原表之上,没有返回值。

sorted():作用于可迭代对象,返回一个排序后的列表。

>>> list1
[6, 1, 4, 2]
>>> list1.sort()  #没有返回值
>>> list1
[1, 2, 4, 6]

>>> list2 = [4,2,9,5,1]
>>> sorted(list2)
[1, 2, 4, 5, 9]      #返回一个列表

>>> st1
'2416'               #sorted()可以作用于任何可迭代对象
>>> tu1
(2, 4, 1, 6)
>>> sorted(tu1)
[1, 2, 4, 6]
>>> sorted(st1)
['1', '2', '4', '6']

3.内置函数中,有部分函数可以以函数名作为参数

常见的有:max()、min()、filter()、map()

经常在进行值的比较或排序的时候,想在某种机制下比较,但又不会改变原来的值,这些函数隐藏的功能就会体现出来了。

>>> list1 = [4,2,-8,5,-3]
>>> max(list1)
5
>>> max(list1,key=abs)
-8
>>> list(sorted(list1,key=abs))
[2, -3, 4, 5, -8]
>>> min(list1,key=abs)
2
>>> list(filter(lambda x:x%2 == 0,list1))  #过滤,返回新的列表
[4, 2, -8]
>>> list(map(abs,list1))   #将第二个参数中的元素做为第一个函数的参数,返回一个新的列表
[4, 2, 8, 5, 3]

内建函数

1.数字类型的方法:http://www.cnblogs.com/yangmingxianshen/p/7705563.html

代表:int()、float()、long()、complex()、abs()、pow()、hex()、ord()、chr()、oct()

2.列表的内建方法:http://www.cnblogs.com/yangmingxianshen/p/7702842.html

代表:append()、extand()、sort()、reverse()、pop()、index()、insert()、remove()

3.字典的方法:http://www.cnblogs.com/yangmingxianshen/p/7704674.html

代表:dict()、get()、hash()、clear()、pop()、popitem()、copy()、keys()、values()、update()、setdefault()

4.序列通用:http://www.cnblogs.com/yangmingxianshen/p/7702886.html

代表:len()、count()、sorted()、reserved()、zip()、enumerate()、max()、min()、all()、any()

5.集合:http://www.cnblogs.com/yangmingxianshen/p/7718646.html

代表:add()、update()、remove()、clear()

6.字符串:http://www.cnblogs.com/yangmingxianshen/p/7704149.html

代表:strip()、split()、format()、startswith()、endswith()、lower()、upper()、join()、find()、index()

7.作用域:locals()和globals()

8.字符串类型代码的执行:http://www.cnblogs.com/yangmingxianshen/p/7810496.html

代表:exac()、eval()、complie()

9.其它:

代表:dir()、id()、input()、range()、callable()、open()、help()

原文地址:https://www.cnblogs.com/yangmingxianshen/p/7822322.html