zoukankan      html  css  js  c++  java
  • python中常见的内置函数

    • map
     1 #自定义map函数
     2 def map_test(func, list):
     3     res = []
     4     for item in list:
     5         res.append(func(item))
     6     return res
     7 
     8 def add_one(x):
     9     return x + 1
    10 
    11 a = [1, 2, 3]
    12 print(map_test(add_one, a))
    13 print(map_test(lambda x:x + 1, a))  #终极版本
    14 
    15 #python中的内置函数map(),功能同上
    16 print('python的内置函数map()', list(map(lambda x:x + 1, a)))
    17 #map(参数1:功能函数(命名函数或者是匿名函数,参数2:可迭代对象(列表,字符串...)))
    18 #python2中map()函数处理的结果是一个列表,而python3中处理的结果是一个可迭代对象
    map
    • filter
     1 #自定义filter函数
     2 def filter_test(func, list):
     3     res = []
     4     for item in list:
     5         if func(item):
     6             res.append(item)
     7     return res
     8 
     9 def bigger5(x):
    10     if x > 5:
    11         res = True
    12     else:
    13         res = False
    14     return res
    15 
    16 a = [1, 2, 3, 10, 15, 6]
    17 print(filter_test(bigger5, a))
    18 
    19 #python内置函数filt(),功能同上
    20 print(list(filter(bigger5, a)))
    21 #filter(参数1:功能函数(命名函数或者是匿名函数,参数2:可迭代对象(列表,字符串...)))
    22 #python2中filter()函数处理的结果是一个列表,而python3中处理的结果是一个可迭代对象
    filter
    • reduce
     1 #自定义reduce函数
     2 def reduce_test(func, list, init = None):
     3     if init is None:
     4         res = list.pop(0)
     5     else:
     6         res = init
     7     for item in list:
     8         res = func(res, item)
     9     return res
    10 a = [1, 2, 3]
    11 print(reduce_test(lambda x, y:x + y, a))
    12 
    13 #python内置函数reduce()
    14 from functools import reduce
    15 a = [1, 2, 3]
    16 print(reduce(lambda x, y:x + y , a))  #6
    17 print(reduce(lambda x, y:x + y , a, 2))  #8
    18 #reduce(参数1:功能函数(命名函数或者是匿名函数),参数2:可迭代对象(列表,字符串...),参数3,初始值(可选参数))
    19 #返回是一个值
    reduce
    ①map():对可迭代对象中的每个元素都进行相同的处理,最后返回一个新的可迭代对象,python2中直接返回列表形式
    ②filter():对可迭代对象中的每个元素进行筛选,最后将符合条件的元素装进一个新的可迭代对象里,python2中直接返回列表形式
    ③reduce():对可迭代对象中的元素进行一个操作(如所有的值加起来),最后返回新数值
    • 其他内置函数
      1 # ==========abs==========绝对值
      2 print(abs(-1))  # 1
      3 
      4 # ==========all==========可迭代对象的每个元素的布尔操作都是True时返回True,若传入的可迭代对象是空则返回True
      5 print(all(['', 1, 's']))  # False
      6 
      7 # ==========any==========可迭代对象的每个元素的布尔操作中有一个是True时就返回True,若传入的可迭代对象是空则返回True
      8 print(any(['', 5, '0']))  # Ture
      9 
     10 # ==========bin==========将十进制数转成二进制数
     11 print(bin(3))  # 0b11
     12 
     13 # ==========hex==========将十进制数转成十六进制数
     14 print(hex(10))  # 0xa
     15 
     16 # ==========oct==========将十进制数转成八进制数
     17 print(oct(8))  # 0o10
     18 
     19 # ==========bool==========布尔值操作: 空 0 None 布尔操作为False
     20 print(bool([]))  # False
     21 
     22 # ==========bytes==========编码 将传入的字符串用某种编码方式转换成二进制
     23 print(bytes('', encoding='utf-8'))  # b'xe9x99x88'
     24 print(bytes('', encoding='utf-8').decode('utf-8'))  # 陈  # 译码 译码与编码应采用一样的
     25 
     26 # ==========chr==========将ASCII码转成对应字符
     27 print(chr(97))  # a
     28 
     29 # ==========ord=========将字符转成对应的ASCII码值
     30 print(ord('a'))  # 97
     31 
     32 # ==========dir==========打印某种对象里面的所有属性
     33 print(dir(all))
     34 
     35 # ==========divmod==========参数1除以参数2 返回一个元组(商,余数)
     36 print(divmod(10, 3))  # (3, 1)
     37 
     38 # ==========eval==========
     39 dic = {'name': 'chen'}
     40 dic_str = str(dic)
     41 # ===================================功能1:提取成传入的字符串中的数据类型
     42 print(dic_str)  # '{'name': 'chen'}'
     43 print(type(dic_str))  # <class 'str'>
     44 print(eval(dic_str))  # {'name': 'chen'}
     45 print(type(eval(dic_str)))  # <class 'dict'>
     46 # ===================================功能2:计算字符串中的数学运算
     47 s = '1 + 2 * 1'
     48 print(eval(s))  # 3
     49 
     50 # ==========hash==========hash运算
     51 print(hash('chen'))  # -1076846465005340399
     52 print(hash('chenyuanyuan'))  # -8978753568388561982  #hash()---->hash运算
     53 
     54 # ==========help==========函数功能解释
     55 print(help(all))
     56 
     57 # ==========isinstance==========判断某个对象是否是某种数据类型的实例对象
     58 print(isinstance('2', str))  # True
     59 
     60 # ==========globals、locals==========全局变量、局部变量
     61 name = 'chen'
     62 
     63 
     64 def test():
     65     age = 18
     66     print(globals())  # 打印所有的全局变量,包括name
     67     print(locals())  # {'age': 18} #打印所有的局部变量
     68 
     69 
     70 test()
     71 
     72 # ==========min、max==========最小值、最大值
     73 dic = {'chen': 100, 'wang': 200, 'li': 500, 'do': 600}
     74 # ============一个可迭代参数
     75 print(min(['a01', 'b10', 'c1']))  # a01 遍历出每个元素,比较它们的的第一位的ASCII码值,找到最小后就停止比较
     76 # print(min(['a01', 'b10', 'c1', 30])) #报错 不同数据类型无法比较
     77 print(min(dic))  # chen
     78 print(max(dic))  # wang
     79 print(min(dic.values()))  # 100
     80 print(max(dic.values()))  # 600
     81 print(max(zip(dic.values(), dic.keys())))  # (600, 'do') #max与zip结合找出value值最大的那一组
     82 # ============两个参数
     83 print(min(dic, key=lambda k: dic[k]))  # chen
     84 print(max(dic, key=lambda k: dic[k]))  # do
     85 
     86 # ==========zip==========拉链操作,将多个可迭代对象(列表,元组,字符串)对应元素组成一个元组,多余元素自动去掉,返回可迭代对象
     87 print(list(zip('abc', 'def', 'ghihhhhh')))  # [('a', 'd', 'g'), ('b', 'e', 'h'), ('c', 'f', 'i')]
     88 print(list(zip(dic.keys(), dic.values())))  # [('chen', 100), ('wang', 200), ('li', 500), ('do', 600)]
     89 
     90 # ==========pow==========参数1的参数2次方,结果对参数3进行取余操作
     91 print(pow(2, 3))  # 8
     92 print(pow(2, 3, 1))  # 0
     93 
     94 # ==========reversed==========反转可迭代对象中元素的排列顺序,返回迭代器
     95 a = [1, 2, 3]
     96 print(list(reversed(a)))  # [3, 2, 1]
     97 
     98 # ==========round==========四舍五入取整
     99 print(round(2.66))  # 3
    100 
    101 # ==========set==========将其他数据类型转换成集合
    102 print(set('hello'))  # {'h', 'o', 'e', 'l'}
    103 
    104 # ==========slice==========切片:参数1-->起始索引,参数2-->结束索引,参数3-->步长
    105 a = 'ehllovihgh'
    106 s1 = slice(2, 6, 2)
    107 print(s1.start)  # 2
    108 print(s1.stop)  # 6
    109 print(s1.step)  # 2
    110 print(a[s1])  # lo
    111 
    112 # ==========sorted==========排序
    113 a = [1, 25, 2, 3]
    114 print(sorted(a)) #[1, 2, 3, 25]  #不同数据类型任然无法进行排序比较
    115 lists = [{'name': 'chen', 'age': 18}, {'name': 'wang', 'age': 25}, {'name': 'li', 'age': 9}]
    116 print(sorted(lists, key = lambda dic:dic['age']))
    117 #[{'name': 'li', 'age': 9}, {'name': 'chen', 'age': 18}, {'name': 'wang', 'age': 25}]
    118 info = {'liu': 100, 'li': 12200, 'chen': 100000}
    119 print(sorted(info.keys()))  #['chen', 'li', 'liu']  #比较key值
    120 print(sorted(info.values())) #[100, 12200, 100000]  #比较value值
    121 print(sorted(info, key = lambda key: info[key]))   #['liu', 'li', 'chen'] #比较value值,返回key值
    122 print(sorted(zip(info.values(), info.keys())))   #[(100, 'liu'), (12200, 'li'), (100000, 'chen')]
    123 
    124 # ==========type==========查看数据类型
    125 print(type('ll'))  # <class 'str'>
    126 
    127 # ==========sum==========求和
    128 print(sum([5, 2, 3])) #10
    129 
    130 # ==========range==========范围
    131 for item in range(5):
    132     print(item)
    133 # 0
    134 # 1
    135 # 2
    136 # 3
    137 # 4
    138 for item in range(5, 7):
    139     print(item)
    140 # 5
    141 # 6
    142 
    143 # ==========__import__==========引入字符串类型的模块名
    144 m = __import__('...')
    145 m.函数名()
    其他内置函数

     

  • 相关阅读:
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    jquery各种滚动
    IE屏蔽鼠标右键、禁止复制粘贴等功能
    java高级---->Thread之BlockingQueue的使用
    java基础---->多线程之synchronized(六)
    java基础---->java中字符编码问题(一)
    java基础---->多线程之wait和notify(八)
    java基础---->多线程之ThreadLocal(七)
    java基础---->多线程之interrupt(九)
    java高级---->Thread之Exchanger的使用
  • 原文地址:https://www.cnblogs.com/SakuraYuanYuan/p/10319033.html
Copyright © 2011-2022 走看看