python 几个内置的函数的用法
2017-11-30 本文已影响8人
Miltonlong
- enumerate()
enumerate(iterable[, start])
enumerate 本身是列举,枚举的意思。该函数需要一个传入一个可迭代对象(必备),和一个起始值,默认是 0 。得到 enumerate 的类,可以用 list tuple set dict 等函数去转换成对象的类型。
>>> li = ['a','b','c','d']
>>> enumerate(li)
<enumerate object at 0x0000000002ED8C60>
>>> list(enumerate(li))
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
>>> set(enumerate(li))
{(1, 'b'), (3, 'd'), (2, 'c'), (0, 'a')}
>>> dict(enumerate(li))
{0: 'a', 1: 'b', 2: 'c', 3: 'd'}
>>> list(enumerate(li,10))
[(10, 'a'), (11, 'b'), (12, 'c'), (13, 'd')]
>>> dict(enumerate(li,10))
{10: 'a', 11: 'b', 12: 'c', 13: 'd'}
- filter()
filter(function or None, iterable) --> filter object
需要在传入一个函数,和一个可迭代对象,返回了一个 filter 的类。
>>> ff = lambda x: x in range(1,11)
>>> li = ['a','ases','1','5',143,2,4]
>>> filter(ff,li)
<filter object at 0x0000000002ED0438>
>>> list(filter(ff,li))
[2, 4]
- map()
map(func, *iterables) --> map object
map 在这里的意思是 映射,遍历 的意思,需要传入一个函数和一个可迭代的对象,返回一个 map 的类。遍历可迭代对象,通过传入的函数处理后返回。
>>> gg = lambda x : x**2
>>> li = [1,3,5,7,9]
>>> map(gg,li)
<map object at 0x0000000002ED0C18>
>>> list(map(gg,li))
[1, 9, 25, 49, 81]
- zip()
zip(iter1 [,iter2 [...]]) --> zip object
传入多个可迭代对象,可以是不同的类型,一一对应组成元组。注意:在传入无序的可迭代类型时,由于无序的特性,得到的结果会产生随机性。
>>> li1=[1,2,'sf',[1,2]]
>>> tu = ('g',5,7,1)
>>> se ={'hd','dr',2,7,5}
>>> zip(li1,tu,se)
<zip object at 0x0000000002DDE508>
>>> list(zip(li1,tu,se))
[(1, 'g', 2), (2, 5, 5), ('sf', 7, 7), ([1, 2], 1, 'hd')]
- 进制转换
函数名 | 作用 |
---|---|
bin() | 转换为二进制 |
oct() | 转换为八进制 |
hex() | 转换为十六进制 |
ord() | 将字符转换成对应的 ASCII 码 |
chr() | 将 ASCII 码转换成对应的字符 |