需要区分对比的函数以及函数小结
在内置函数中个,有几组函数长的特别像,功能也有些相似,我们需要加以区分。
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()