python 优雅的一行代码:列表推导式 的108种姿势

python 列表推导式,简称为python的一行代码。

python优雅的一行代码

 

lst=[file for file in os.listdir('.') if file.endswith(".txt")]

  这句意思是: 对于当前文件夹的文件,把扩展名是txt的文件,存进到名为"lst"的列表中。

 

下一个例子:

有一个聚会时玩的游戏,一桌人轮流报数,轮到数字中有7或者是7的倍数时,就要“默读”,不能说出来。

那么,python可以非常加单的把数字中有7或者是7的倍数的数字给列出来;

[a for a in range(1,101) if '7' in str(a) or a%7==0]

  结果是:

 

在列表推导式中有好多个可以“推倒”的姿势,例如

authors = ["Ernest Hemingway","Langston Hughes","Frank Herbert","Toni Morrison","Emily Dickson","Stephen King"]

[name.split()[1] for name in authors]

  

 

posted @ 2022-07-13 15:02  uuxyz  阅读(69)  评论(0)    收藏  举报
联系我