- def newlist(n):
- gen = (x for x in range(1,n+1))
- rs = []
- num = 1
- while True:
- try:
- temp = []
- for i in range(num):
- temp.append(next(gen))
- num+=1
- except StopIteration:
- break
- finally:
- if temp:
- rs.append(temp)
- return rs
- if __name__ == '__main__':
- for y in range(13):
- print('newlist(%d) : %s' % (y,newlist(y)))
复制代码- newlist(0) : []
- newlist(1) : [[1]]
- newlist(2) : [[1], [2]]
- newlist(3) : [[1], [2, 3]]
- newlist(4) : [[1], [2, 3], [4]]
- newlist(5) : [[1], [2, 3], [4, 5]]
- newlist(6) : [[1], [2, 3], [4, 5, 6]]
- newlist(7) : [[1], [2, 3], [4, 5, 6], [7]]
- newlist(8) : [[1], [2, 3], [4, 5, 6], [7, 8]]
- newlist(9) : [[1], [2, 3], [4, 5, 6], [7, 8, 9]]
- newlist(10) : [[1], [2, 3], [4, 5, 6], [7, 8, 9, 10]]
- newlist(11) : [[1], [2, 3], [4, 5, 6], [7, 8, 9, 10], [11]]
- newlist(12) : [[1], [2, 3], [4, 5, 6], [7, 8, 9, 10], [11, 12]]
复制代码 |