2024-09-30 22:19:41 发布
网友
我有一个特殊的功能:
def create4(n): output = [] for i in range(n): output.append(range(1+i,1)) return output
我想让它产生
[[1,2,3,4,5], [1,2,3,4], [1,2,3], [1,2],[1]]
当我print create4(5)的时候。如何更改for循环以使代码产生所需的输出?你知道吗
print create4(5)
您可以使用范围(a,b,-1)从a到b倒计时
def func(n) : output = [] for i in range(n+1,1,-1): output.append(range(1,i)) return output print func(4)
为了打印[[1,2,3,4],[2,3,4]。。。[4] ]:
def func(n) : output = [] for i in range(1,n+1): output.append(range(i,n+1)) return output print func(4)
在for循环中,range的参数顺序不对。range(m, n)将给出整数的范围x,其中m≤x<;n。你知道吗
range
range(m, n)
还要注意的是,虽然这在Python2.7下实现了您想要的功能,但在Python3.x中,它们已经将range更改为始终返回迭代器。为了安全起见,将每个对range的调用包装在list()中。你知道吗
list()
def create4(n): return sorted([range(1,x) for x in xrange(2,n+2)], reverse=True)
您可以使用范围(a,b,-1)从a到b倒计时
为了打印[[1,2,3,4],[2,3,4]。。。[4] ]:
在for循环中,
range
的参数顺序不对。range(m, n)
将给出整数的范围x,其中m≤x<;n。你知道吗还要注意的是,虽然这在Python2.7下实现了您想要的功能,但在Python3.x中,它们已经将range更改为始终返回迭代器。为了安全起见,将每个对
range
的调用包装在list()
中。你知道吗相关问题 更多 >
编程相关推荐