gpt4 book ai didi

python - 使用 for 循环 Python 为数组赋值

转载 作者:太空狗 更新时间:2023-10-30 02:10:44 25 4
gpt4 key购买 nike

我正在尝试将字符串的值分配给不同的数组索引

但我收到一个名为“列表分配超出范围”的错误

uuidVal = ""
distVal = ""
uuidArray = []
distArray = []

for i in range(len(returnedList)):
for beacon in returnedList:
uuidVal= uuidVal+beacon[:+2]
uuidArray[i]= uuidVal
distVal= distVal+beacon[-2:]
distArray[i]= distVal
uuidVal=""
disVal=""

我试过用

distArray[i].append(distVal)

代替

distArray[i]= distVal

但它给出了一个名为“列表索引超出范围”的错误

使用

distArray.append(distVal)

让它正常工作但结果是错误的

因为它在下一个索引中不断将新分配的值与旧值连接起来

它应该如何工作:

returnedList['52:33:42:40:94:10:19, -60', '22:34:42:24:89:70:89, - 90', '87:77:98:54:81:23:71, -81']

在每次迭代中,它将第一个字符分配给 uuidVal(例如:52、22、87)最后两个字符到 distVal(例如:60、90、81)

最后 uuidArray 应该有这些值 [52, 22, 87]

distArray应该有这些值[60, 90, 81]

注意:使用.append 连接值,例如,如果与distArray 一起使用,如distArray.append(distVal) 值将像这样 [60, 6090, 609081]

最佳答案

是的,您会得到超出范围的错误列表索引:

distArray[i] = distVal

您正在访问尚未创建的索引

让我们看看这个演示:

>>> a=[]   # my list is empty 
>>> a[2] # i am trying to access the value at index 2, its actually not present
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range

你的代码应该是这样的:

uuidArray = []
distArray = []
distVal = ""
for beacon in returnedList:
uuidArray.append(beacon[:2])
distval += beacon[-2:]
distArray.append(distVal)

输出将是 uudiArray: ['52', '22', '87'] 和 distArray: ['60', '6090', '609081']

关于python - 使用 for 循环 Python 为数组赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27760831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com