所以,我知道這非常簡單,但我不知道如何在谷歌中找到答案:<
如果您能告訴我如何優化它,或者只是讓我知道如何呼叫這種型別的串列,那將是非常高興的。
該函式接受一個引數“n”并回傳從1到“n”的數字串列,每個數字都附加“n”次
def my_function(n):
x = []
y = 1
for i in range(n):
for j in range(n):
x.append(y)
y = 1
return x
my_function(3)
應該回傳:[1,1,1,2,2,2,3,3,3]
uj5u.com熱心網友回復:
你的意思是像這樣更小?
def foo(n):
result = []
for i in range(1, n 1):
result = ([i]*n)
return result
foo(3)
uj5u.com熱心網友回復:
這是一種不涉及額外庫的簡單方法:
def my_function(n):
# returns array from 1 to n 1 (e.g. if n=3, x=[1,2,3])
x = list(range(1, n 1))
# create a new array with every element of x repeated n times
# Returns x = [1,2,3,1,2,3,1,2,3]
x = x * n
# Sort all elements of x to group them
# Returns x = [1,1,1,2,2,2,3,3,3]
x.sort()
return x
my_function(3)
沒有評論/組合,它只是:
def my_function(n):
x = list(range(1, n 1))* n
x.sort()
return x
uj5u.com熱心網友回復:
一種線性pythonic方式:
def foo(n):
return [i for i in range(1, n 1) for _ in range(n)]
foo(3)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/437080.html
