列表中的否定和肯定

978*_*563 3 python

我正在尝试编写一个函数,允许我只在列表中添加正数而在列表中只添加负数.我不知道从哪里开始编码.任何帮助都会非常感谢!

例:

negpos([-5,5,6,-8,9])
Run Code Online (Sandbox Code Playgroud)

应该返回:

[-13, 20]
Run Code Online (Sandbox Code Playgroud)

pax*_*blo 7

试试这个尺码:

def negpos (lst):
    (neg, pos) = (0, 0)
    for elem in lst:
        if elem < 0:
            neg = neg + elem
        else:
            pos = pos + elem
    return [neg, pos]

print negpos ([-5,5,6,-8,9])
Run Code Online (Sandbox Code Playgroud)

它只维护两个累加器并添加到相关的累加器中.输出是:

[-13, 20]
Run Code Online (Sandbox Code Playgroud)

如预期的.

  • 请不要使用builtin`list`作为变量名! (3认同)