加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

使用for循环Python将值赋给数组

发布时间:2020-12-20 11:39:50 所属栏目:Python 来源:网络整理
导读:我正在尝试将字符串的值分配给不同的数组索引 但我收到一个名为“列表分配超出范围”的错误 uuidVal = ""distVal = ""uuidArray = []distArray = []for i in range(len(returnedList)): for beacon in returnedList: uuidVal= uuidVal+beacon[:+2] uuidArray
我正在尝试将字符串的值分配给不同的数组索引

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

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)

使它工作没有错误,但结果是错误的

因为它会将新指定的值与下一个索引中的旧值连接起来

它应该如何工作:

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

每次迭代时,它将第一个赋值给char给uuidVal(例如:52,22,87)
和最后两个char to distVal(例如:60,90,81)

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

和distArray应该有这些值[60,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′]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读