• python之列表推导式 内置函数


    一、列表推导式,生成器表达式

    [ 变量(加工后的数据) for 变量i in 可迭代的数据类型 ] 列表的推导式, 循环模式
    [ 变量(加工后的数据) for 变量i in 可迭代的数据类型 if 条件] 列表的推导式, 筛选模式
    1,列表推导式比较直观,占内存
    2,生成器表达式不容易看出内容,省内存.

     1 #例一:30以内所有能被3整除的数
     2 l3 = [i for i in range(31) if i % 3 == 0]
     3 print(l3)
     4 #例二:30以内所有能被3整除的数的平方
     5 l4 = [i**2 for i in range(31) if i % 3 == 0]
     6 print(l4)
     7 #两个e
     8 names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],
     9          ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]
    10 
    11 name_l1 = [name for i in names for name in i if name.count('e') == 2]
    12 print(name_l1)
    13 
    14 #将一个字典的key和value对调
    15 mcase = {'a': 10, 'b': 34}  # mcase['a']
    16 mcase_frequency = {mcase[k]: k for k in mcase}
    17 print(mcase_frequency)
    18 
    19 #计算列表中每个值的平方,自带去重功能
    20 squared = {x**2 for x in [1, -1, 2]}
    21 print(squared)

    二、内置函数

     1 #print()
     2 print('666',end='
    ')
     3 print(1,2,3,4,5,sep='|')
     4 f = open('log','w',encodinng='utf-8')
     5 print(666,file=f)
     6 f.close
     7 #dir() 查找对象的所有方法
     8 print(dir([]))
     9 #locals() 将局部的变量储存起来
    10 #globals() 将全局的变量,函数名,等等 储存起来
    11 def func():
    12     name = 'alex'
    13     print(locals())
    14     print(globals())
    15 func()
    16 #数据类型的 list() str() tuple() set() dict() int()
    17 # help(str) 将你查询的对象所有信息都拿出来
    18 # abs()取绝对值
    19 print(abs(-1))
    20 print(abs(1))
    21 def func(ret):
    22     print(44)
    23 #最大值
    24 ret = max(1,2,-3,key=abs)
    25 print(ret)
    26 #最小值
    27 ret = min([1,2,3])
    28 print(ret)
    29 #sum iterable,初始值
    30 ret = sum([1,2,3],10)
    31 print(ret)
    32 #callable 判断此变量是不是函数名
    33 name = 'alex'
    34 print(callable(name))
    35 def func():
    36     print(666)
    37 print(callable(func))
    38 #hash() 通过哈希表的规则,将对象转换成哈希值
    39 print(hash('fdsakfhdsafsda'))
    40 print(hash('fd'))
    41 print(hash('fsdsafsda'))
    42 #all 可迭代对象里面的所有的值转化成bool值如果都是True则,返回True
    43 print(all([1,2,3,0]))
    44 #十进制转化成二进制
    45 # print(bin(100))
    46 # #将十进制转化成八进制
    47 # print(oct(9))
    48 # #将十进制转化成十六进制
    49 # print(hex(33))
    50 #float  :有限小数,无线循环小数,不包含(无线不循环小数)
    51 print(1.35432,type(1.35432))
    52 print(float(3))
    53 #divmod() 分页
    54 # print(divmod(7,2)) #(商,余数)
    55 #enumerate(iterable,start 起始值) 枚举
    56 l = ['手机','电话','充气娃娃',]
    57 for i in enumerate(l):
    58     print(i)
    59 # s = "{'name':'alex'}"
    60 # s1 = "1+2+3+4"
    61 #eval 有返回值 除去字符串两边的引号,返回里面的内容
    62 #exec 没有返回值 除去字符串两边的引号,执行里面的代码
    63 #流程语句
    64 # print(eval(s),type(eval(s)))
    65 # print(exec(s),type(exec(s)))
    66 # print(eval(s1))
    67 # code = '''for i in range(10):
    68 #     print(i)'''
    69 # print(exec(code))
    View Code
  • 相关阅读:
    boost.property_tree的高级用法(你们没见过的操作)
    MFC- OnIdle空闲处理
    华为代码质量军规 (1) 数组访问,必须进行越界保护
    WinSocket 编程
    【C/C++】链表的理解与使用
    单链表
    C++ lambda表达式 (二)
    C++ lambda表达式 (一)
    C++11 volatile 类型
    关于结构体内存对齐方式的总结(#pragma pack()和alignas())
  • 原文地址:https://www.cnblogs.com/xiaobin12126/p/8427253.html
Copyright © 2020-2023  润新知