gpt4 book ai didi

python - 对列表中的所有元素进行平方

转载 作者:太空狗 更新时间:2023-10-29 19:30:14 29 4
gpt4 key购买 nike

有人告诉我

编写一个函数 square(a),它接受一个数字数组 a,并返回一个包含每个平方值的数组。

起初,我有

def square(a):
for i in a: print i**2

但这不起作用,因为我正在打印,并且没有像我被问到的那样返回。所以我尝试了

    def square(a):
for i in a: return i**2

但这只是我数组最后一个数字的平方。我怎样才能让它对整个列表求平方?

最佳答案

您可以使用列表理解:

def square(list):
return [i ** 2 for i in list]

或者您可以映射它:

def square(list):
return map(lambda x: x ** 2, list)

或者您可以使用生成器。它不会返回列表,但您仍然可以遍历它,并且由于您不必分配整个新列表,因此它可能比其他选项更节省空间:

def square(list):
for i in list:
yield i ** 2

或者您可以执行无聊的旧 for 循环,尽管这不像某些 Python 程序员所喜欢的那样惯用:

def square(list):
ret = []
for i in list:
ret.append(i ** 2)
return ret

关于python - 对列表中的所有元素进行平方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12555443/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com