当循环时出现负值时,使用python将值列表拆分为两个列表

Ale*_*exW 3 python split loops list

假设我有一个浮动列表.我想知道如何循环遍历列表以及每当出现负值时,将列表拆分为两个单独的列表.

初始值集:[0.1,0.5,3.2,8.2,0.0,19.7,0.0,-0.8,-12.0,-8.2,-2.5,-6.9,-1.3,0.0]

示例结果我正在寻找:

listA = [0.1,0.5,3.2,8.2,0.0,19.7,0.0]

listB = [-0.8,-12.0,-8.2,-2.5,-6.9,-1.3,0.0]

这里的关键是列表的长度会变化,第一个负值出现的位置永远不会相同.

简而言之:在第一个负值出现的地方,分成两个单独的列表.

有任何想法吗?任何帮助将不胜感激.-干杯

Del*_*gan 5

首先,您可以使用generator表达式来查找第一个负值的索引:

neg = next((i for i, v in enumerate(values) if v < 0), -1)
Run Code Online (Sandbox Code Playgroud)

然后,切片列表(假设neg != -1):

listA, listB = values[:neg], values[neg:]
Run Code Online (Sandbox Code Playgroud)