三元表达式,列表推导是,字典生成式

结论语法思想

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

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

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

记得还有筛选,多重嵌套

用的很少,,,,

三元表达式

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

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

栗子:

a=1b=2c=‘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中为偶数的平方组成的listexample = [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()方法

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

keys = [‘name‘, ‘age‘, ‘gender‘]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)

...

原文地址:https://www.cnblogs.com/jhpy/p/11618747.html

时间: 2024-08-02 21:22:20

三元表达式,列表推导是,字典生成式的相关文章

三元表达式,列表推导式和字典生成式

三元表达式 dog_name='crazy_dog' if dog_name=='crazy dog': print('疯狗') else: print('溜了') #通过三元表达式,我们可以缩减为以下代码 dog_name='crazy_dog' print('疯狗')if dog_name=='crazy_dog' else print('溜了') #三元表达式只支持双分支结构 条件成立时的返回值 if 条件 else 条件不成立时的返回值 列表推导式 lt=[] for i in rang

三元表达式/列表推导/生成器表达式

一 三元表达式 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(res) 二 列表推导式 #1.示例 egg_list=[] for i in range(10): egg_list.append('鸡蛋%s' %i) egg_list=['鸡蛋%s' %i for i in range(10)] #2.语法 [expression for item1 in iterable1 if condition1 for

三元表达式 列表推导式 生成器表达式

# 三元表达式# def my_max(x,y):# if x >= y:# return x# else:# return y## res=my_max(1,2)# print(res) # 2 # x=10# y=20# res=x if x >= y else y## print(res) # 20 # name=input('>>:name').strip()# res='Yes' if name == 'OBOS' else 'No'## print(res) # 列表推

python基础-三元表达式/列表推导式/生成器表达式

1.三元表达式:如果成立返回if前的内容,如果不成立返回else的内容 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(res) 2.列表推导式:l=['egg'+str(i) for i in range(1,11)] print(l) 3.生成器表达式: l=('egg'+str(i) for i in range(1,11) if i >6) for i in l: print(i) 原文地址:http

函数 三元表达式 列表生成式 字典生成式 生成器表达式

1.三元表达式 针对 if  条件判断的简写 可以比较下比如: def max2(x,y): if x > y: return x else: return y max2(20,30) ================================================= x=10 y=20 res=x if x > y else y print(res) 真正的核心代码从4条变成了一条就可以解决了 代码形式:条件成立时的返回值    if 条件    else 条件不成立时的返回

三元表达式,列表生成式,字典生成式,生成器表达式

三元表达式 条件成立时的返回值 if 条件 else 条件不成立时的返回值 def max2(x,y): if x > y: return x else: return y print(max2(10,20)) x=10 y=20 res=x if x > y else y print(res) 列表生成式 #输出1~10中每个数字的平方l=[item**2 for item in range(1,11)] print(l) names=['alex','wxx','lxx'] 为列表中每个人

递归/匿名函数/三元表达式/列表生成式/字典生成式/二分算法

让在下揭开尔等的面纱,一探究竟:) >>>递归: 递归是一个往复的过程,也就是由两个过程组成,一个是计算过程,一个是将值层层返回的过程,递归的奇妙之处,就在于自身调用自身,然后,过程遵循由复杂到简单,最终满足相应条件后,退出,返回结果.说了一大堆,不过直接上代码: test_list = [1,[2,[3,[4,[5,[6,[7,[8,[9,[10,[11,[12,[13,[14,]]]]]]]]]]]]]] res = 0 def sum_list(test_list, res): f

生成器 三元表达式 列表生成式 匿名函数 内置函数

生成器 1.什么是生成器? ? -生成的工具 ? -生成器是一个自定义的迭代器,本质上是一个迭代器. 2.如何实现生成器? -但凡在函数内定义的yield ? -调用函数时,函数体代码不会执行 ? 会返回一个结果,这个结果就是生成器. 3.yield ? -每一次的yield都会往生成器对象中添加一个值. ? -yield只能在函数内定义 ? -yield可以保存函数的暂停状态 yield和return的对比 ? -相同点: ? 返回值的是不限制的: ? -不同点 ? return一次只可以返回

(一)Python入门-4控制语句:10推导式创建序列-列表推导式-字典推导式-集合推导式-生成器推导式

推导式创建序列: 推导式是从一个或者多个迭代器快速创建序列的一种方法.它可以将循环和条件判断结合, 从而避免冗长的代码.推导式是典型的Python 风格,会使用它代表你已经超过Python初 学者的水平. 一:列表推导式 列表推导式生成列表对象,语法如下: [表达式 for item in 可迭代对象 ] 或者:{表达式 for item in 可迭代对象 if 条件判断} 1 #列表推导式 2 x = [x for x in range(1,5)] 3 print(x) 4 5 x = [x*