Vla*_*dan 174 python exception list
请考虑以下代码:
i = [1, 2, 3, 5, 8, 13]
j = []
k = 0
for l in i:
    j[k] = l
    k += 1
print j
输出(Win 7 32位上的Python 2.6.6)是:
> Traceback (most recent call last): 
>     j[k] = l IndexError: list assignment index out of range
我想这很简单,我不明白.有人可以清理它吗?
Ste*_*yne 284
j是一个空列表,但是您尝试[0]在第一次迭代中写入元素,该迭代尚不存在.
请尝试以下方法,将新元素添加到列表末尾:
for l in i:
    j.append(l)
Rsh*_*Rsh 45
您的另一个选择是初始化j:
j = [None] * len(i)
kha*_*hik 23
做j.append(l)而不是j[k] = l避免k.
Jas*_*ram 15
您还可以使用列表理解:
j = [l for l in i]
或使用以下声明制作副本:
j = i[:]
我认为Python方法插入是你正在寻找的:
在元素x处插入元素x.
array = [1,2,3,4,5]
array.insert(1,20)
print(array)
# prints [1,2,20,3,4,5]
您可以为j使用字典(类似于关联数组)
i = [1, 2, 3, 5, 8, 13]
j = {} #initiate as dictionary
k = 0
for l in i:
    j[k] = l
    k += 1
print j
将打印:
{0: 1, 1: 2, 2: 3, 3: 5, 4: 8, 5: 13}
| 归档时间: | 
 | 
| 查看次数: | 480491 次 | 
| 最近记录: |