推导式
列表
过滤掉长度小于或等于3的字符串列表,并将剩下的转换成大写字母:
names = [\'Bob\',\'Tom\',\'alice\',\'Jerry\',\'Wendy\',\'Smith\'] new_names=[name.upper() for name in names if len(name)>3] print(new_names)
[\'ALICE\', \'JERRY\', \'WENDY\', \'SMITH\']
计算 30 以内可以被 3 整除的整数:
nums=[x for x in range(1,30) if x%3==0] print(nums)
[3, 6, 9, 12, 15, 18, 21, 24, 27]
字典
使用字符串及其长度创建字典:
listdemo = [\'Google\',\'Runoob\', \'Taobao\'] l={key:len(key) for key in listdemo} print(l)
提供三个数字,以三个数字为键,三个数字的平方为值来创建字典:
listdemo = [1,2,3] l={key:key**2 for key in listdemo} print(l)
{1: 1, 2: 4, 3: 9}
集合
计算数字 1,2,3 的平方数:
new_set={x**2 for x in (1,2,3)} print(new_set)
{1,4,9}
判断不是 abc 的字母并输出:
a={x for x in \"abdce\" if x not in \'abc\'} print(a)
{\'d\', \'e\'}
元组
元组推导式和列表推导式的用法也完全相同,只是元组推导式是用 () 圆括号将各部分括起来,而列表推导式用的是中括号 [],另外元组推导式返回的结果是一个生成器对象。
生成一个包含数字 1~9 的元组:
a=(x for x in range(1,10)) print(a) print(tuple(a))# 使用 tuple() 函数,可以直接将生成器对象转换成元组
<generator object <genexpr> at 0x0000020B713ACC10> (1, 2, 3, 4, 5, 6, 7, 8, 9)
来源:https://www.cnblogs.com/wxy214/p/15972688.html
本站部分图文来源于网络,如有侵权请联系删除。