问题描述
这可能是一个非常简单的问题,但我无法通过这个问题。例如,如果 n = 5,我想要答案列表 = [1,2,3,4,5,5]。如果 n = 6,我想要答案列表 = [1,6,6]
下面的代码是我第一次做的,但我什至怀疑这种格式是否正确使用。
rules = []
rules.extend([x for x in range(n)])
如果我使用这种代码,它只会使 list = [1,5 ......,n] 我应该将 x 格式更改为其他格式吗?
rules = []
rules.extend([[x] * x for x in range(n)])
或者如果我使用这种代码,它会以这样的列表格式列出列表,list = [[1],[2],[3],[3]]
解决方法
使用可以使用嵌套列表理解:
>>> n = 5
>>> rules = [i for i in range(1,n + 1) for __ in range(i)]
>>> rules
[1,2,3,4,5,5]