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的第一个元素,但它没有第一个元素。您可能想附加它。