我有一個串列(在資料框中),如下所示:
oddnum = [1, 3, 5, 7, 9, 11, 23]
我想創建一個如下所示的新串列:
newlist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 23]
我想測驗兩個數字之間的距離是否為2(如果oddnum[index 1]-oddnum[index] == 2)
如果距離為2,那么我想在oddnum[index]后面添加數字并創建一個新串列(oddnum[index] 1)
如果距離大于 2,則保持串列不變
我不斷收到關鍵錯誤,因為(我認為)串列用完 [index] 并且 [index 1] 一旦到達串列末尾就不再存在。我該怎么做呢?
uj5u.com熱心網友回復:
要傳遞錯誤,最好的方法是使用try和except條件。這是我的代碼:
oddnum = [1, 3, 5, 7, 9, 11, 23]
res = [] # The new list
for i in range(len(oddnum)):
res.append(oddnum[i]) # Append the first value by default
try: # Tries to run the code
if oddnum[i] 2 == oddnum[i 1]: res.append(oddnum[i] 1) # Appends if the condition is met
except: pass # Passes on exception (in our case KeyError)
print(res)
uj5u.com熱心網友回復:
oddnum = [1, 3, 5, 7, 9, 11, 23]
new_list = []
for pos, num in enumerate(oddnum):
new_list.append(num)
try:
if num-oddnum[pos 1] in [2, -2]:
new_list.append(num 1)
except:
pass
print(new_list)
用于try: except:防止例外彈出并忽略它
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/525359.html
標籤:Python熊猫麻木的
上一篇:2個串列的元素之間的所有成對均值
