Python列表推导式

列表推导式是一种快捷的创建列表的方式,它通常用于对列表中的每个元素执行某些操作,并将结果放到一个新的列表中。

列表推导式的语法如下:

[expression for item in iterable]

其中,expression 是对每个元素执行的操作,item 是遍历的元素,iterable 是要遍历的序列。

上面的代码中,right = [x for x in arr if x > pivot] 使用列表推导式从 arr 中选择大于枢轴的元素,并将它们放到一个新的列表中。

例如,下面是一个简单的列表推导式示例:

numbers = [1, 2, 3, 4, 5]
doubled_numbers = [x * 2 for x in numbers]
print(doubled_numbers)  # 输出 [2, 4, 6, 8, 10]

在这个例子中,列表推导式遍历 numbers 列表中的每个元素,并将它们的值乘以 2,最后将结果放到一个新的列表 doubled_numbers 中。

 

在列表推导式中,if 子句可以用于过滤列表中的元素。

当使用 if 子句时,只有满足条件的元素才会被添加到新列表中。

例如,下面是一个使用 if 子句的列表推导式示例:

 numbers = [1, 2, 3, 4, 5]
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers) # 输出 [2, 4]

在这个例子中,列表推导式遍历 numbers 列表中的每个元素,并使用 if 子句过滤掉不是偶数的元素。最后,将剩余的元素放到一个新的列表 even_numbers 中。

回到最开始的代码,right = [x for x in arr if x > pivot] 使用列表推导式从 arr 中选择大于枢轴的元素,并将它们放到一个新的列表 right 中。

 

Python 的列表推导式 (List Comprehension) 是一种快捷的创建列表的方式,它通常用于对列表中的每个元素执行某些操作,并将结果放到一个新的列表中。

列表推导式的语法如下:

 [expression for item in iterable]

其中,expression 是对每个元素执行的操作,item 是遍历的元素,iterable 是要遍历的序列。

列表推导式还可以使用 if 子句进行过滤,只有满足条件的元素才会被添加到新列表中。例如:

 [expression for item in iterable if condition]

在上面的语法中,condition 是一个布尔表达式,用于过滤列表中的元素。

列表推导式还可以使用嵌套循环,来遍历多个序列。例如:

 [expression for item1 in iterable1 for item2 in iterable2]

在上面的语法中,第二个循环 (for item2 in iterable2) 会对第一个循环 (for item1 in iterable1) 中的每个元素执行。

下面是一些列表推导式的示例:

# 获取 1 到 10 之间的平方
squares = [x ** 2 for x in range(1, 11)]
print(squares)  # 输出 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

# 获取 1 到 10 之间的偶数的平方
even_squares = [x ** 2 for x in range(1, 11) if x % 2 == 0]
print(even_squares)  # 输出 [4, 16, 36, 64, 100]

#获取两个列表中共同出现的元素
list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
common_elements = [x for x in list1 if x in list2]
print(common_elements) # 输出 [3, 4]

#获取两个列表中共同出现的元素的平方
list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
common_squares = [x ** 2 for x in list1 if x in list2]
print(common_squares) # 输出 [9, 16]

#获取两个列表的笛卡尔积
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
cartesian_product = [(x, y) for x in list1 for y in list2]
print(cartesian_product) 
# 输出 [(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]


列表推导式是一种灵活的工具,可以大大简化代码并使其更易于阅读。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇