Python 如何插入二维列表?

Python 如何插入二维列表?,python,Python,这是我的源代码,我没有使用导入数学 #2-d list append n=int(input('enter final value')) l=[] for i in range(0,3): l[i]=[] if i==0: for x in range(0,n+1): if x%2==0: l[i].append(x) if i==1: for x in range(0,n+1):

这是我的源代码,我没有使用导入数学

#2-d list append
n=int(input('enter final value'))
l=[]
for i in range(0,3):
    l[i]=[]
    if i==0:
        for x in range(0,n+1):
            if x%2==0:
                l[i].append(x)
    if i==1:
        for x in range(0,n+1):
            if x%2!=0:
                l[i].append(x)
    if i==2:
        for x in range(0,n+1) and x!=1:
            f=0
            a=int(n/2)
            for j in range(2,a):
                if x%j==0:
                    f+=1
            if(f==0):
                l[i].append(x)
     l.append(l[i])
 print(l)
它显示以下错误:

Traceback (most recent call last):
  File "C:/Users/New/Desktop/py/2_D.py", line 5, in <module>
    l[i]=[]
IndexError: list assignment index out of range
我想知道我应该如何更正代码以插入二维列表

写这行:

l.append([])
反而

l[i] =[]
当您写入l[i]解释器时,尝试访问l[0],但l的长度为零。

l是一个空列表。然后尝试将空列表分配给l的第一个元素,但它没有第一个元素,因为它是空的。您可能希望使用l.append[]来附加它

注意,行中:

for x in range(0,n+1) and x!=1:
该条件需要进入下一行的if语句,并在适当缩进后进入代码块

n=int(input('enter final value'))
l=[]
for i in range(0,3):
    l.append([])   # append an empty list
    if i==0:
        for x in range(0,n+1):
            if x%2==0:
                l[i].append(x)
    if i==1:
        for x in range(0,n+1):
            if x%2!=0:
                l[i].append(x)
    if i==2:
        for x in range(0,n+1):
            if x!=1:   # Moved the if statement to a new line
                f=0
                a=int(n/2)
                for j in range(2,a):
                    if x%j==0:
                        f+=1
                if(f==0):
                    l[i].append(x)
    l.append(l[i])
print(l)

你能详细说明你想完成什么吗?因为我们很容易帮你。l是空的。然后尝试将空列表分配给l的第一个元素,但它没有第一个元素。您可能想附加它。