做网站需要展示工厂么,南通网站建设找哪家,基础型网站套餐,手机如何制作一个网页链接文章目录 基本结构示例 1#xff1a;将列表中的元素乘以 2 添加条件判断示例 2#xff1a;筛选出偶数并加倍 嵌套列表推导式示例 3#xff1a;生成九九乘法表 使用条件表达式示例 4#xff1a;根据条件返回不同的值 镶嵌使用详细介绍基本结构示例生成二维数组多重筛选和操作… 文章目录 基本结构示例 1将列表中的元素乘以 2 添加条件判断示例 2筛选出偶数并加倍 嵌套列表推导式示例 3生成九九乘法表 使用条件表达式示例 4根据条件返回不同的值 镶嵌使用详细介绍基本结构示例生成二维数组多重筛选和操作 运行顺序在列表推导式中遍历多个列表基本结构示例两个列表相乘使用条件过滤对应元素相加 列表推导式List Comprehension是 Python 中一种简洁而强大的构造列表的方法。它允许使用简单的语法快速生成列表并且能够包含条件语句使得代码更加紧凑和易读。
基本结构
列表推导式的基本结构如下
new_list [expression for item in iterable]expression要执行的操作或表达式用于生成新的列表元素。item可迭代对象中的每个元素。iterable用于迭代的对象如列表、元组、集合、字典等。
示例 1将列表中的元素乘以 2
original_list [1, 2, 3, 4, 5]# 使用列表推导式生成新的列表
new_list [x * 2 for x in original_list]# 输出新的列表
print(new_list) # 输出[2, 4, 6, 8, 10]添加条件判断
列表推导式也可以包含条件判断根据条件筛选元素。
new_list [expression for item in iterable if condition]condition带有 if 关键字的条件语句。
示例 2筛选出偶数并加倍
original_list [1, 2, 3, 4, 5, 6, 7, 8, 9]# 使用列表推导式筛选出偶数并加倍
new_list [x * 2 for x in original_list if x % 2 0]# 输出新的列表
print(new_list) # 输出[4, 8, 12, 16]嵌套列表推导式
列表推导式还支持嵌套可以生成嵌套列表。
示例 3生成九九乘法表
multiplication_table [[i * j for j in range(1, 10)] for i in range(1, 10)]# 输出九九乘法表
for row in multiplication_table:print(row)使用条件表达式
列表推导式也可以包含条件表达式。
new_list [true_expression if condition else false_expression for item in iterable]示例 4根据条件返回不同的值
original_list [1, 2, 3, 4, 5]# 使用列表推导式根据奇偶性返回不同的值
new_list [Even if x % 2 0 else Odd for x in original_list]# 输出新的列表
print(new_list) # 输出[Odd, Even, Odd, Even, Odd]总的来说列表推导式是一种非常便利的工具可以在一行代码中生成列表并进行筛选、转换操作。它使得代码更紧凑、可读性更高。
镶嵌使用详细介绍
镶嵌列表推导式是指在列表推导式中嵌套另一个或多个列表推导式。这种技巧允许生成嵌套列表使得代码更加简洁和紧凑。运行顺序是从左向右依次执行。
基本结构
镶嵌列表推导式的基本结构是将一个或多个列表推导式放在另一个列表推导式的内部创建嵌套列表。
# 基本结构
new_list [expression for item in iterable if condition for sub_item in sub_iterable if sub_condition]这里的 sub_iterable 和 sub_condition 是内部循环的迭代对象和条件。
示例
生成二维数组
# 使用嵌套列表推导式生成二维数组
matrix [[i for i in range(3)] for j in range(4)]# 输出生成的二维数组
for row in matrix:print(row)多重筛选和操作
# 使用嵌套列表推导式进行多重筛选和操作
nested_list [i * 2 for i in range(10) if i % 2 0 for j in range(3) if j 2]# 输出生成的列表
print(nested_list)运行顺序
镶嵌列表推导式的执行顺序是按照书写顺序从左到右执行首先处理外部循环然后是内部循环。举例来说如果有两个列表推导式相互嵌套那么外层的列表推导式会先执行内层的列表推导式后执行。
在嵌套的情况下外层的循环会被认为是内层循环的外部循环因此内层循环的执行频率会受外层循环控制。
总的来说镶嵌列表推导式提供了一种生成嵌套列表的快速方式通过按照书写顺序执行外层和内层循环来生成更加复杂的数据结构。
在列表推导式中遍历多个列表
在列表推导式中同时遍历多个列表可以使用多个 for 循环实现。这允许您从多个列表中获取元素并执行操作以生成新列表。
基本结构
在列表推导式中同时遍历多个列表的基本结构如下
new_list [expression for item1 in list1 for item2 in list2]其中list1 和 list2 是待遍历的列表item1 和 item2 分别代表这些列表中的元素。
示例
两个列表相乘
list1 [1, 2, 3]
list2 [4, 5, 6]# 使用列表推导式同时遍历两个列表并执行操作
result [x * y for x in list1 for y in list2]
print(result) # 输出[4, 5, 6, 8, 10, 12, 12, 15, 18]使用条件过滤
list1 [1, 2, 3]
list2 [4, 5, 6]# 使用列表推导式同时遍历两个列表并应用条件
result [(x, y) for x in list1 for y in list2 if x ! y]
print(result) # 输出[(1, 4), (1, 5), (1, 6), (2, 4), (2, 6), (3, 4), (3, 5), (3, 6)]上面的代码等效于
list1 [1, 2, 3]
list2 [4, 5, 6]
result []
for x in list1:for y in list2:if x!y:result.append((x,y))
print(result)
但是要是代码改成下面的样子时就要注意了 result [(x,y) for i in list1 if i 1 for j in list2 if i!j]那么上面的代码就等效于
result []
for i in list1:if i 1:for j in list2:if i !j:result.append((x,y))也就是说我们要特别关注条件判断语句的位置
对应元素相加
list1 [1, 2, 3]
list2 [4, 5, 6]# 使用列表推导式同时遍历两个列表并对应元素相加
result [x y for x, y in zip(list1, list2)]
print(result) # 输出[5, 7, 9]在这些示例中使用了不同的操作来同时遍历多个列表。这种方法允许您从多个列表中提取元素并按照条件进行组合或操作生成新的列表。