在python

时间:2018-02-03 18:04:44

标签: python list

我有一个循环来填充列表,使用循环格式 我应该创建一个列表,然后 - 使用循环 - 用N个元素填充列表,并将每个列表元素设置为其索引乘以10。

N也可能为0.在这种情况下,我应该输出一个空列表[],这就是我认为绊倒我的原因。

list = [N]

for x in range(N):
    innerlist = []
    for y in range(N):
        innerlist.append(list)
    list.append(innerlist)
    if N == 0:
        list = []
print (list)       

我认为if(N==0)语句会重置列表的值,但事实并非如此。我应该输出[],而是输出[0]

5 个答案:

答案 0 :(得分:3)

>>> N = 10
>>> my_list = [iter * 10 for iter in range(N)]
>>> print(my_list)
[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> N = 0
>>> my_list = [iter * 10 for iter in range(N)]
>>> print(my_list)
[]

答案 1 :(得分:1)

lst = range(8)
innerlst = []


for i in lst:
    if 0 in lst:
       innerlst = []
       continue
    else:
       innerlst.append(i*10)

答案 2 :(得分:0)

如果您只是在之前添加条件进入整个循环,您将获得预期的结果:

N = 10
list = []
if (N > 0):
    for i in range(N):
        list.append(i*10)
print(list)
# output: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]

答案 3 :(得分:0)

myList = []

if N == 0:
  print(myList)
else:  
  for i in range(N):
    myList.append(i * 10)
  print(myList)

答案 4 :(得分:-1)

我自己只是一个初学者,但我发现这个符合您的问题。我不知道如何正确格式化实际代码,但希望这会有所帮助!

my_list = []
my_newlist =[]
if N <= 0:
    print(my_list)
else:
    for x in range(N):   
        my_list.append(x)   
        my_newlist= [i* 10 for i in my_list] # not getting the statement 'i * 10 for in i' statement
    print(my_newlist)

[Python] #We为你提供一个数字N. #Create a list然后,使用循环,填充 - Pastebin.com。 (2017年11月29日)。取自https://pastebin.com/2F0zXq6z