zoukankan      html  css  js  c++  java
  • 三元表达式,列表推导是,字典生成式

    结论语法思想

    1.三元表达式条件为真的结果, if +判断的条件, else+条件为假时的结果

    2.列表推导式就是结果放在前面,循环跟着想循环的可迭代的东西(iterable)

    与列表不同的是它的标志符号'{}'且仍然返回字典的形式

    3.通过解压缩函数生成了一个字典

    需要知道的事要先将key跟value通过zip(keys,values)压缩,在通过字典生成式生成字典形式

    4.记得还有筛选,多重嵌套

    用的很少,,,,

    三元表达式

    格式为:条件为真时的结果,if + 判断的条件,else +条件为假时的结果

    三元表达式的一种思想:如果a<100 是真的,True:对应一个结果,反过来会有另一个结果

    栗子:

    a=1
    b=2
    c='jh全世界最帅' if a<100 else '全世界最帅的是jh'
    #来一个装逼的,接手同事看了要打人的
    #c=({True:'jh全世界最帅',False:'Less'}[a<100])#它的思想
    print(c)

    列表推导式

    很简单

    就是结果放在前面,循环跟着想循环的可迭代的东西(iterable)

    [变量(加工后的变量) for 变量 in iterable]

    l1 = [i for i in range(1,101)]
    print(l1)

    # 输出结果
    [1,2,3,4,5,6,...100]

    复杂一点的列表表达式可以对原列表进行变换和筛选。

    如:

    # 想得到1-10中为偶数的平方组成的list
    example = [i**2 for i in range(1,11) if i%2 == 0 ]
    print(example)

    想得到多重嵌套的list中一重嵌套中list长度大于1的list中的数为2的倍数的平方组成的list


    example4 = [[1,2,3],[4,5,6],[7,8,9],[10]]
    exmaple5 = [j**2 for i in example2 if len(i)>1 for j in i if j%2 == 0]
    print(exmaple5)

    字典生成式

    与列表不同的是它的标志符号'{}'

    打印[0:9]**2的结果

    print({i:i**2 for i in range(10)})
    #结果为{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

    打印判断[0:9]%2是0的布尔值返回字典

    b={i:i% 2==0 for i in range(10)}
    print(b)

    zip()方法

    通过解压缩函数生成了一个字典

    需要知道的事要先将key跟value通过zip(keys,values)压缩,在通过字典生成式生成字典形式

    keys = ['name', 'age', '0gender']
    values = ['nk', 19, 'male']

    res = zip(keys, values)
    print(F"zip(keys,values): {zip(keys,values)}")

    info_dict = {k: v for k, v in res}
    print(f"info_dict: {info_dict}")
    '''
    结果
    zip(keys,values): <zip object at 0x11074c088>
    info_dict: {'name': 'nk', 'age': 19, 'sex': 'male'}'''

    练习

    练习一:编写名为collatz(number)的函数;实现的功能:参数为偶数时,打印num// 2;参数为奇数时,打印3*number + 1

    num=int(input('please input integer.'))
    print (num//2 if num%==0 else num*3+1)

    ...

    .



  • 相关阅读:
    element ui 表单清空
    element ui 覆盖样式 方法
    element ui 修改表单值 提交无效
    element ui 抽屉里的表单输入框无法修改值
    element ui 抽屉首次显示 闪烁
    css 左侧高度 跟随右侧内容高度 自适应
    PICNUF框架
    elementui 抽屉组件标题 出现黑色边框
    vue 子组件跨多层调用父组件中方法
    vue 编辑table 数据 未点击提交,table里的数据就发生了改变(深拷贝处理)
  • 原文地址:https://www.cnblogs.com/jhpy/p/11618747.html
Copyright © 2011-2022 走看看