簡體   English   中英

帶有beaglebone black的python中的indexerror

[英]indexerror in python with beaglebone black

y[i] = ADC.read("P9_40")
IndexError: list assignment index out of range

編碼:

i = 1
x = []*1000
y = []*1000
for i in range(1000): 
        y[i] = ADC.read("P9_40") # adc input pin
        x[i] = (int)(y*2147483648) # conversion of float to int

此代碼是從beaglebone black的模擬引腳讀取數據並將結果存儲在數組中

在python中,您無法調用列表的未創建索引

x = []*1000 #creates only one empty list not 1000 list of list
y = []*1000 #like wise here

它應該像這樣

x = [[] for i in range(1000)]
y = [[] for i in range(1000)]

您不會通過執行以下操作來創建1000個元素列表:

x = [] * 1000
y = [] * 1000

您應該做的是使用None值創建它:

x = [None] * 1000
y = [None] * 1000

然后您可以覆蓋循環中的“ None None什么比ADC.read()可能產生的任何整數值(例如0 )更好的了,因為您可以檢查整個列表是否在以后更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM