标签:sans col pad 列表 全世界 inline maple break ext
三元表达式条件为真的结果, if +判断的条件, else+条件为假时的结果
列表推导式就是结果放在前面,循环跟着想循环的可迭代的东西(iterable)
与列表不同的是它的标志符号‘{}‘且仍然返回字典的形式
记得还有筛选,多重嵌套
用的很少,,,,
格式为:条件为真时的结果,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)
通过解压缩函数生成了一个字典
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)
...
标签:sans col pad 列表 全世界 inline maple break ext
原文地址:https://www.cnblogs.com/jhpy/p/11618747.html