码迷,mamicode.com
首页 > 编程语言 > 详细

python函数七(内置函数)

时间:2018-02-10 18:54:30      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:ever   value   fun   unicode   eve   条件   pos   int   filter   

一。内置函数

1.重要内置函数

  都是带key的: max min map filter 返回的是迭代器 

  sorted 返回的是列表 函数名在后

  1.1 max

dic = {k1:20,k2:30,k3:100}
def func(x):
    return dic[x]
l1 = max(dic,key=func,)   #(输出的是dic默认就是输出dic的键),函数返回的是是value值,即选出最大的value对应的键
print(l1) #k3

dic = {3:20,2:30,1:100}
def func(x):
    return x
l1 = max(dic,key=func,)     #(输出的是dic默认就是输出dic的键),函数返回的是是key值,即选出最大的key
print(l1) #3

  1.2      zip 可以放置多个可迭代对象,以最少的可迭代对象的个数为基准,返回一个迭代器( 拉链方法)

l1 = [1,2,3,4,5]
l2 = [wusir,alex,taibai]
l3 = [*,"**"]
print(zip(l1,l2))     #<zip object at 0x00000161EDC19F08>
for i in zip(l1,l2,l3):
    print(i)
结果:
(1, wusir, *)
(2, alex, **)

  1.3 map

print([i*i for i in range(5)])         #[0, 1, 4, 9, 16]

print(map(abs,[1,2,3,-4,-5,-7]))      #<map object at 0x0000015B0DCC75C0>   迭代器
for i in map(abs,[1,2,3,-4,-5,-7]):  #abs 是内置函数,绝对值
    print(i)

def func(x):return x*x
for i in map(func,range(5)):          #func是自己写的函数
    print(i)

def func(x):return x*x
for i in map(func,[0,1,2,3,4]):
    print(i)

  1.4 filter    过滤 筛选出符合条件的元素输出

print([i for i in [1,2,3,4,5] if i % 2 == 0])    #[2, 4]

def func1(x):return x % 2 == 0
for i in filter(func1,[1,2,3,4,5]):
    print(i)
# 结果:
# 2
# 4

  1.5 sorted 返回的是列表,形成一个新列表,并返回

      list.sort() 改变原列表

l1 = [1,4,3,5,7,8]
print(sorted(l1,))   #[1, 3, 4, 5, 7, 8]

l = [fsdafsa,fddsaf,qqq,fgasjdlg;dsjfg]
def func1(x):
  return len(x)
print(sorted(l,key=len))     #[‘qqq‘, ‘fddsaf‘, ‘fsdafsa‘, ‘fgasjdlg;dsjfg‘]
for i in sorted(l,key=func1):
    print(i)

2.其余内置函数简介

  2.1 # any all

print(any([‘‘,1,0]))     #True        any至少存在一个元素为真,返回True  类似 or
print(all([‘‘,1,0]))     #False       all全部元素为真,返回True     类似 and

  2.2 ord 输入字符,返回unicode对应的编码位置

        chr 输入编码位置,返回unicode对应的字符

# print(ord(‘a‘))
# print(ord(‘b‘))
# print(ord(‘中‘))

# 结果:
# 97
# 98
# 20013

print(chr(97))         #a
print(chr(20013))      #
print(ascii(a))     #‘a‘
print(ascii())    #\u56fd

  2.3 %r     repr 原形毕露

name = alex%r%(sb)
print(name)                 #alex‘sb‘
print(repr([1,2]))       #‘[1,2]‘

  2.4 slice() 切片

l1 = [11,22,33,44]
print(l1[1::2])
sl = slice(1,4,2)      #命名一个规则,之后在切片
print(l1[sl])

  2.5 reversed() 形成一个新的迭代器.

l1 = [11,33,22,44,alex]
l1.reverse()
print(l1)      #[‘alex‘, 44, 22, 33, 11]   改变的是原列表,只能打印原列表
l2 = reversed(l1)    #这是一个迭代器iterator
for i in l2:
    print(i)

二。匿名函数

一般与内置函数配合使用

格式:lambda x:x

l1 = [234,12,fsdafa,fdsagag]
def func1(x):return x % 2 == 0
for i in filter(func1,[1,2,3,4,5]):
    print(i)   # 2  4  
for i in filter(lambda x:len(x) >= 3,[234,12,fsdafa,fdsagag]):
    print(i)  #  234  fsdafa  fdsagag

 

python函数七(内置函数)

标签:ever   value   fun   unicode   eve   条件   pos   int   filter   

原文地址:https://www.cnblogs.com/zhuzhaoyang/p/8439340.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!