- 样例代码:
def double(x):
return 2 * x
def square(x):
return x * x
def func(g, arr):
return [g(x) for x in arr]
def main():
arr1 = func(double, [1, 2, 3, 4])
arr2 = func(square, [1, 2, 3, 4])
print("arr1 =", arr1, ", arr2 =", arr2)
if __name__== "__main__" :
main()
- 输出如下:
('arr1 =', [2, 4, 6, 8], ', arr2 =', [1, 4, 9, 16])
- 源码解释:
在给定函数 func(g, arr)
中,表达式 [g(x) for x in arr]
是列表推导式(List Comprehension)的一种写法。它的作用是将函数 g
应用于列表 arr
中的每个元素 x
,并将结果存储在一个新的列表中。
解释 [g(x) for x in arr]
的过程如下:
- 对于列表
arr
中的每个元素x
,依次执行以下步骤:- 将元素
x
传递给函数g
进行处理,即调用g(x)
。 - 将函数
g
处理的结果添加到新列表中。
- 将元素
- 最终返回包含所有处理结果的新列表。
总结:文章来源:https://www.toymoban.com/news/detail-520362.html
列表推导式和map实现的效果是一样的,例如有如下代码:文章来源地址https://www.toymoban.com/news/detail-520362.html
arr3 = map(double , [1 , 2 , 3 , 4])
输出:arr3 =', [2, 4, 6, 8]
和上面的arr1的结果是一样的
到了这里,关于Python 列表推导式(List Comprehension)的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!