我们有一个列表如何计算列表中元素之前的特定元素?
list = [1, 1, 1, 0, 1, 0, 0, 1]
我试图找到将统计每个项目之前的0的号码,然后通过3
def formula(n):
for x in list:
if x == 1:
form = n * 3
return form
#If x is 1, count the number of zeros right before x and multiply this by 3,
这个数字乘以例如,对于上面的列表功能,第一个元素是1,并且在它之前没有数字,程序应该计算0 * 3 = 0,对于第二个元素,它也是1,在它也不是零之前的数字,程序也应该计算0 * 3 = 0.第四个元素是0,所以程序应该忽略,对于第五个元素是1,它之前的数字是一个0,计算1 * 3 = 3的程序,对于第6个元素,其右边的数字是1之前,系统应该计算0 * 3 = 0.第7个元素是0,因为x不等于1该程序不应该做任何事情。对于这是1的最后一个元素,最后两个数字前都为零,程序应该计算2 * 3 = 6
为什么你跳过第7个元素? –
Uriel Eld的答案使用了一个发电机,而sparkandshine使用了一个列表,使用一个你感觉更舒适的发电机,虽然 – Adirio
谢谢你的纠正摩西 –