我們有一個列表如何計算列表中元素之前的特定元素?
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
謝謝你的糾正摩西 –