添加或求和列表的值,直到条件不再有效,并在条件有效时创建一个新元素 Python
Add or sum a value to list till condition is not valid anymore and create a new element when condition is valid Python
我有一个问题,我得到了以下代码:
import numpy as np
a= [1,2,3,0,0,6,7,8,0,0,9,10,0,0]
a = np.array(a)
b=[]
c =[]
for i in a:
if i > 0.1:
b.append (0.04)
else:
c.append (0.04)
当我运行这个时,我得到
b = [0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04]
c = [0.04, 0.04, 0.04, 0.04, 0.04, 0.04]
但我真正想要的是
b = [0.12, 0.12, 0.08]
c = [0.08, 0.08, 0.08]
所以在b中0.04的值需要累加直到a<0.1然后需要创建一个新元素直到a>0.1。这需要重复整个 a 达到。 c.
也一样
有人可以帮我吗
您每次都在 b 和 c 数组中追加。您需要向该索引添加 0.04,直到满足您的条件。
import numpy as np
a= [1,2,3,0,0,6,7,8,0,0,9,10,0,0]
a = np.array(a)
b=[]
c =[]
value1 = 0
value2 = 0
index = 0;
for i in a:
if i > 0.1:
value1 += 0.04
if (value2>0):
c.append(value2)
value2=0
else:
value2 += 0.04
if (value1 > 0):
b.append(value1)
value1=0
if value1 > 0 and index==(len(a) -1):
b.append(value1)
if value2 > 0 and index == (len(a) - 1):
c.append(value2)
index+=1
print(b)
print(c)
我有一个问题,我得到了以下代码:
import numpy as np
a= [1,2,3,0,0,6,7,8,0,0,9,10,0,0]
a = np.array(a)
b=[]
c =[]
for i in a:
if i > 0.1:
b.append (0.04)
else:
c.append (0.04)
当我运行这个时,我得到
b = [0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.04]
c = [0.04, 0.04, 0.04, 0.04, 0.04, 0.04]
但我真正想要的是
b = [0.12, 0.12, 0.08]
c = [0.08, 0.08, 0.08]
所以在b中0.04的值需要累加直到a<0.1然后需要创建一个新元素直到a>0.1。这需要重复整个 a 达到。 c.
也一样有人可以帮我吗
您每次都在 b 和 c 数组中追加。您需要向该索引添加 0.04,直到满足您的条件。
import numpy as np
a= [1,2,3,0,0,6,7,8,0,0,9,10,0,0]
a = np.array(a)
b=[]
c =[]
value1 = 0
value2 = 0
index = 0;
for i in a:
if i > 0.1:
value1 += 0.04
if (value2>0):
c.append(value2)
value2=0
else:
value2 += 0.04
if (value1 > 0):
b.append(value1)
value1=0
if value1 > 0 and index==(len(a) -1):
b.append(value1)
if value2 > 0 and index == (len(a) - 1):
c.append(value2)
index+=1
print(b)
print(c)