zoukankan      html  css  js  c++  java
  • 内置函数(二)

    数学运算(7):

    • abs:函数返回数字的绝对值。
    • divmod:计算除数与被除数的结果,返回一个包含商和余数的元组(a // b, a % b)。
    • round:保留浮点数的小数位数,默认保留整数。
    • pow:求x**y次幂。(三个参数为x**y的结果对z取余)
     1 print(abs(-5))  # 5
     2 
     3 print(divmod(7,2))  # (3, 1)
     4 
     5 print(round(7/3,2))  # 2.33
     6 print(round(7/3))  # 2
     7 print(round(3.32567,3))  # 3.326
     8 
     9 print(pow(2,3))  # 两个参数为2**3次幂
    10 print(pow(2,3,3))  # 三个参数为2**3次幂,对3取余。
    数学运算
    • sum:对可迭代对象进行求和计算(可设置初始值)。
    • min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)。
    • max:返回可迭代对象的最大值(可加key,key为函数名,通过函数的规则,返回最大值)。
     1 print(sum([1,2,3]))
     2 #6
     3 print(sum((1,2,3),100))
     4 #106
     5 print(sum([1,2,3],100))
     6 #106
     7 print(min([1,2,-5,],key=abs))
     8 #1
     9 dic = {'a':3,'b':2,'c':1}
    10 print(min(dic,key=lambda x:dic[x]))
    11 #c
    12 print(max([1,2,3],key=abs))
    13 #3
    14 print(max([1,2,-6],key=abs))
    15 #-6
    16 dic = {'a':3,'b':2,'c':1}
    17 print(max(dic,key=lambda x:dic[x]))
    18 #a
    数学运算(7):

     列表和元祖(2)

    • list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素)。
    • tuple:将一个可迭代对象转化成元祖(如果是字典,默认将key作为元祖的元素)。
     1 l = list((4,5,6))
     2 print(l)
     3 # [4, 5, 6]
     4 l = list({4,5,6})
     5 print(l)
     6 # [4, 5, 6]
     7 l = list({'a1':456,'a2':789})
     8 print(l)
     9 # ['a2', 'a1']
    10 t = tuple((4,5,6))
    11 print(t)
    12 # (4, 5, 6)
    13 t = tuple({4,5,6})
    14 print(t)
    15 # (4, 5, 6)
    16 t = tuple({'a1':456,'a2':789})
    17 print(t)
    18 # ('a2', 'a1')
    list、tuple

    相关内置函数(2)

    • reversed:将一个序列翻转,并返回此翻转序列的迭代器。(重要)
    • slice:构造一个切片对象,用于列表的切片。
     1 r = reversed(['a',2,3,'c',4,2])
     2 print(r)
     3 #<list_reverseiterator object at 0x00000000010AB860>
     4 for i in r:
     5     print(i)
     6 # 2
     7 # 4
     8 # c
     9 # 3
    10 # 2
    11 # a
    12 s = slice(7,8,9)
    13 print(s)
    14 # slice(7, 8, 9)
    reversed、slice

    bytes:用于不同编码之间的转化。

    1 b = '哈哈'
    2 bs = b.encode('utf-8')
    3 print(bs)
    4 # b'xe5x93x88xe5x93x88'
    5 bs = bs.decode('utf-8')
    6 print(bs)
    7 # 哈哈
    View Code

    repr:返回一个对象的string形式(原形毕露)。

    1 name = 'xiaoyuer'
    2 print('我是%s' % name)
    3 # 我是xiaoyuer
    4 print(repr('xiaoyuer'))
    5 'xiaoyuer'
    repr

    enumerate:枚举,返回一个枚举对象。

     1 l = [1,2,3,4,5,6,7,8,9]
     2 print(len(l))
     3 # 9
     4 for i in enumerate(l):
     5     print(i)
     6 # (0, 1)
     7 # (1, 2)
     8 # (2, 3)
     9 # (3, 4)
    10 # (4, 5)
    11 # (5, 6)
    12 # (6, 7)
    13 # (7, 8)
    14 # (8, 9)
    15 for k,i in enumerate(l):
    16     # print(k,i)
    17     print(k+1,i)
    18 # 1 1
    19 # 2 2
    20 # 3 3
    21 # 4 4
    22 # 5 5
    23 # 6 6
    24 # 7 7
    25 # 8 8
    26 # 9 9
    enumerate

    format:与具体数据相关,用于计算各种小数,精算等。

    http://www.cnblogs.com/Eva-J/articles/7266245.html

    1 print(format('test', '<20'))
    2 print(format('test', '>20'))
    3 print(format('test', '^20'))
    4 # test                
    5 #                 test
    6 #         test    
    format

    zip:函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。

     1 l1 = [1,2,3]
     2 l2 = [4,5,6]
     3 print(zip(l1,l2))
     4 # <zip object at 0x0000000000BB7B48>
     5 print(list(zip(l1,l2)))
     6 # [(1, 4), (2, 5), (3, 6)]
     7 for i in zip(l1,l2):
     8     print(i)
     9 # (1, 4)
    10 # (2, 5)
    11 # (3, 6)
    zip

    filter

    filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

    1 def func(x):return x%2 == 0
    2 ret = filter(func,[1,2,3,4,5,6,7])
    3 print(ret)
    4 for i in ret:
    5     print(i)
    6 # <filter object at 0x00000000010D43C8>
    7 # 2
    8 # 4
    9 # 6
    View Code

    map

    python中的map函数应用于每一个可迭代的项,返回的是一个结果list。如果有其他的可迭代参数传进来,map函数则会把每一个参数都以相应的处理函数进行迭代处理。map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。

    我们要将f(x)=x^2作用于这个list上,那么我们可以使用map函数处理。

     1 [i**2 for i in range(10)]
     2 def func(num):
     3     return num ** 2
     4 for i in map(func,range(10)):print(i)
     5 # 0
     6 # 1
     7 # 4
     8 # 9
     9 # 16
    10 # 25
    11 # 36
    12 # 49
    13 # 64
    14 # 81
    map

    sorted:对所有可迭代的对象进行排序操作。

     1 L = [('a', 1), ('c', 3), ('d', 4),('b', 2), ]
     2 sorted(L, key=lambda x:x[1])               # 利用key
     3 [('a', 1), ('b', 2), ('c', 3), ('d', 4)]
     4  
     5  
     6 students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
     7 sorted(students, key=lambda s: s[2])            # 按年龄排序
     8 [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
     9  
    10 sorted(students, key=lambda s: s[2], reverse=True)    # 按降序
    11 [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
    sorted
  • 相关阅读:
    数据库连接,报错--mysql版本不匹配
    SpringMVC项目如何添加事物呢
    将存放数字的list,顺序排列,然后,判断,数字是否是连续的
    list从小到大,排序----这么简单
    SpringMVC控制层,setViewName--不能跳转到指定视图
    SpringMVC中jsp和controller互传参的问题
    jsp到controller乱码
    PDF 补丁丁 0.4.1 版:新增嵌入中文字库、替换文档字库的功能
    PDF 补丁丁 0.4.1 版将增加嵌入中文字库的功能
    Django视图层
  • 原文地址:https://www.cnblogs.com/zhaojingyu/p/8955237.html
Copyright © 2011-2022 走看看