结论语法思想
三元表达式条件为真的结果, 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-12-25 18:23:03