1,列表推导式是一种简洁的语法,用于生成新的列表或过滤现有列表。它由一个表达式、一个或多个for循环和一个可选的条件组成。列表推导式使用方括号表示,并且可以在一行代码中完成复杂的操作。
案例:
ranks = [str(n) for n in range(2, 11)]
print(ranks)
#输出
['2', '3', '4', '5', '6', '7', '8', '9', '10']
在上述代码中我们首先指定了一个描述性的列表名:ranks
然后指定了一个表达式:str(n), 用于生成要存储到列表中的值
2,列表推导式还可以包含多个for循环和条件。下面是一个例子,演示了如何使用列表推导式生成一个包含两个列表中元素的所有组合的列表
book1=['平凡的世界','流程的python','高数','云边小麦都']
book2=['百年孤独','西游记','红楼梦']
books=[(x,y) for x in book1 for y in book2]
print(books)
#输出
[('平凡的世界', '百年孤独'), ('平凡的世界', '西游记'), ('平凡的世界', '红楼梦'), ('流程的python', '百年孤独'), ('流程的python', '西游记'), ('流程的python', '红楼梦'), ('高数', '百年孤独'), ('高数', '西游记'), ('高数', '红楼梦'), ('云边小麦都', '百年孤独'), ('云边小麦都', '西游记'), ('云边小麦都', '红楼梦')]
上述代码的一般式是:
book1=['平凡的世界','流程的python','高数','云边小麦都']
book2=['百年孤独','西游记','红楼梦']
for x in book1:
for y in book2:
books=[x,y]
print(books,'\t',end=" ")
3,在列表推导式中使用条件语句可以通过在表达式后面添加if子句来实现。if子句用于过滤列表中的元素,只有满足条件的元素才会被包含在最终的列表中。
number=[1,2,3,4,5,6,7,8,9]
numbers=[int(x) for x in number if x > 5]
print(numbers)