Python教程

python推导式

本文主要是介绍python推导式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

推导式

列表

过滤掉长度小于或等于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)

 

这篇关于python推导式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!