python代码是否有其他有效的方法?

python代码是否有其他有效的方法?,python,list,Python,List,下面是我试过的那个。我正在寻找一种简单有效的替代方法。任何帮助都将不胜感激 y = [None] * 620 for i in range(0,204): y[i] = 3 for i in range(204,419): y[i] = 1 for i in range(419,620): y[i] = 2 y=[3]*204+[1]*419-204+[2]*620-419怎么样?通常你可以这样做: 停止=[204419620] nums=[3,1,2] 数组=[] 对

下面是我试过的那个。我正在寻找一种简单有效的替代方法。任何帮助都将不胜感激

y = [None] * 620
for i in range(0,204):
    y[i] = 3
for i in range(204,419):
    y[i] = 1
for i in range(419,620):
    y[i] = 2

y=[3]*204+[1]*419-204+[2]*620-419怎么样?

通常你可以这样做:

停止=[204419620] nums=[3,1,2] 数组=[] 对于i范围内的总长度: 如果我<停止[0]: array.appendnums[0] 如果i<停止[1]: array.appendnums[1] 这里有更多的Elif 其他: 数组.appendnums[-1]
您可以使用列表理解

[ 3 if x >= 0 and x < 204 else 1 if x >= 204 and x < 419 else 2 for x in range(0, 620)]

[3] *204+[1]*419-204+[2]*620-419您使用此[None]*620创建列表,是什么阻止了您这样做[3]*204可读性较差,但列表理解是用python创建列表的最快、最有效的方法