gpt4 book ai didi

Python:如何将每个负数变成零?

转载 作者:行者123 更新时间:2023-12-01 00:52:00 24 4
gpt4 key购买 nike

我正在尝试一个练习,希望我返回一个新列表,其中包含所有相同的元素,但负数除外,这些元素在返回的列表中变成零。

我使用了 for 循环来遍历参数列表,如果数字低于 0,我会将其 append 到一个新列表中,但将其乘以 0。但是,我得到了奇怪的输出,例如空列表。例如,下面的代码应打印:

  1. [0, 0, 9, 0, 0, 34, 1]

  2. [9,34,1]

  3. [0, 0, 0]

请坚持使用列表方法,谢谢。

代码:

def get_new_list_no_negs(num_list):
new_list = []
for i in range(len(num_list)):
if i < 0:
new_list.append(num_list[i] * 0)
return new_list

def main():
print("1.", get_new_list_no_negs([-3, -6, 9, 0, 0, 34, 1]))
print("2.", get_new_list_no_negs([9, 34, 1]))
print("3.", get_new_list_no_negs([-9, -34, -1]))
main()

最佳答案

这应该做:

def get_new_list_no_negs(num_list):
return [max(num, 0) for num in num_list]

max 函数是一个 Python 内置函数,它将返回传递的数字之间的最大值。

关于Python:如何将每个负数变成零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56503182/

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