zoukankan      html  css  js  c++  java
  • Python学习之==>内置函数、列表生成式、三元表达式

    一、内置函数

      所谓内置函数就是Python自带的函数

     1 print(all([0,2,3,4]))   #判断可迭代的对象里面的值是否都为真
     2 print(any([0,1,2,3,4])) #判断可迭代的对象里面的值是否有一个为真
     3 print(bin(10))          #十进制转二进制(0b1010:ob代表二进制,10的二进制是1010)
     4 print(bool('a'))        #把一个对象转换成布尔类型(非空即真,非0即真)
     5 print(callable('aa'))   #判断传入的对象是否可调用
     6 print(chr(66))          #取数字对应的ascii
     7 print(ord('B'))         #取字符串对应的ascii码
     8 print(dict(a=1,b=2))    #转换字典
     9 print(dir('a'))         #打印传入对象的可调用方法
    10 print(eval('1+1'))      #执行python代码,只能执行简单的,定义数据类型和运算
    11 print(exec('def a():pass'))  #执行python代码
    12 print(filter(lambda x:x>5,[12,3,12,2,1,2,35]))#把后面的迭代对象根据前面的方法筛选
    13 print(map(lambda x:x>5,[1,2,3,4,5,6]))
    14 print(frozenset({1,2,3,3}))  #定义一个不可修改的集合
    15 print(globals())  #返回程序内所有的变量,返回的是一个字典
    16 print(locals())   #返回局部变量
    17 print(hash('aaa'))#把一个字符串哈希成一个数字
    18 print(hex(111))   #数字转成16进制
    19 print(max(111,12))#取最大值
    20 print(min(111,12))#取最小值
    21 print(abs(-10))   #取绝对值
    22 print(oct(111))   #把数字转换成8进制
    23 print(round(1.215,2))#取几位小数
    24 print(sorted([2,31,34,6,1,23,4]))#排序

    内置函数zip

      把多个list组合到一起变成一个二维数组

    1 list1 = ['a', 'b', 'c', 'd', 'f', 'g']
    2 list2 = [1, 2, 3]
    3 list3 = ['!', '#', '%', '*']
    4 list4 = ['A', 'B', 'C', 'D', 'E']
    5 # zip是把多个list组合到一起变成一个二维数组
    6 print(list(zip(list1, list2, list3, list4)))
    7 # 如果list长度不一样,则循环次数以元素少的list为准
    8 for a, b, c, d in zip(list1, list2, list3, list4):
    9     print(a, b, c, d)

    内置函数map

      自动循环调用函数

     1 def my(num):
     2     return str(num)
     3 lis = [1,2,3,4,5,6,7,8,9]
     4 # 将lis中的每个元素作为函数my的入参调用函数
     5 res = list(map(my,lis)) # 将对象强制转换成list
     6 print(res)
     7 # 和以下代码功能一样
     8 new_lis = []
     9 for i in lis:
    10     new_lis.append(my(i))
    11 print(new_lis)

     内置函数filter

      同样是循环调用函数

     1 def even(num):
     2     if num % 2 == 0:
     3         return True
     4     else:
     5         return False
     6 lis = [1, 2, 3, 4, 5, 6, 7, 8, 9]
     7 # filter只保留结果返回为真的list中的元素
     8 res1 = list(filter(even, lis))
     9 # 函数返回什么就保存什么
    10 res2 = list(map(even, lis))
    11 print(res1)
    12 print(res2)

    二、匿名函数

      函数的功能很简单,只需要用一次

    1 res = lambda x:x+1  #冒号后面的是函数的函数体,冒号前面的是返回值
    2 print(res(2))

    三、字典排序

    1 dic = {'a':'2','b':'1','c':'3'}
    2 res1 = sorted(dic.items(),key=lambda x:x[0])   #根据字典的key排序
    3 res2 = sorted(dic.items(),key=lambda x:x[1])    #根据字典的value排序
    4 print(sorted(dic.items()))  # 后面不指定key和value则默认按照key排序
    5 print(res1)
    6 print(res2)

    四、列表生成式

    1 k = [i for i in range(1,101,2)]  #生成100以内的奇数,放入一个list里面
    2 print(k)
    1 import random
    2 red_num = random.sample(range(1,34),6)
    3 new_num = []
    4 new_num = [str(num).zfill(2) for num in red_num]
    5 # 以下代码和上面的列表生成式效果一样
    6 for num in red_num:
    7     tmp = str(num).zfill(2)
    8     new_num.append(tmp)

    五、三元表达式

    1 a = 5
    2 b = 4
    3 c = a if a > b else b
    4 # 相当于:
    5 if a > b:
    6     c = a
    7 else:
    8     c = b
  • 相关阅读:
    惊讶
    BLOG休假
    因考试得福
    Shape of My HeartSting !
    一个月的第一天了
    BLOG开张喽~~~
    该走了
    脏话
    EditText的属性
    游戏引擎
  • 原文地址:https://www.cnblogs.com/L-Test/p/9069724.html
Copyright © 2011-2022 走看看