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]
这里的关键是列表的长度会变化,第一个负值出现的位置永远不会相同.
简而言之:在第一个负值出现的地方,分成两个单独的列表.
有任何想法吗?任何帮助将不胜感激.-干杯
首先,您可以使用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)