首页 > 解决方案 > 从列表中删除值

问题描述

我有一个看起来像这样的多个数据框:

A = [0,0,0,1,0,-1,2,-3,0,4,-4]
B = [0,0,0,1,-5,0,5,-6,0,4,-3,5,-6]

我想返回一个返回值,其中 dataFrame 的第一个条目是-ve值,而最后一个数据是+ve值。

输出

A = [-1,2,-3,4]
B = [-5,5,-6,4,-3,5]

如何运行循环来查看所有数据框?数据帧的长度不同。

标签: python

解决方案


代码:

a = [0,0,0,1,0,-1,2,-3,0,4,-4]
b = [0,0,0,1,-5,0,5,-6,0,4,-3,5,-6]

def arr(x):
    x[:] = (value for value in x if value != 0)
    while x[0] > 0:

        x.pop(0)

    while x[-1] < 0:
        x.pop()
    # print(x)
    return x

print(arr(a))
print(arr(b))

输出:

[-1, 2, -3, 4]
[-5, 5, -6, 4, -3, 5]

你也可以使用x.pop(0)而不是del x[0]


推荐阅读