我正在尝试将从 num 到 1 的数字附加到第一个元组的列表中,但我不知道该怎么做。我想出了如何用列表来做,但我不太确定没有列表该怎么做。我尝试从 [i for i in reversed(range(1, num + 1))] 中删除 [],但这没有用。
我目前拥有的:
def put_to_list(num):
items = ((0, []), (1, []), (2, []))
items[0][1].append([i for i in reversed(range(1, num + 1))])
return items[0]
通过上面的代码我得到:
put_to_list(10)
(0, [[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]])
有没有办法做我所做的而不是括号,所以:
>>> put_to_list(10)
(0, [10, 9, 8, 7, 6, 5, 4, 3, 2, 1])
请您参考如下方法:
改用list.extend():
items[0][1].extend([i for i in reversed(range(1, num + 1))])
你甚至不需要在那里使用列表理解:
items[0][1].extend(reversed(range(1, num + 1)))
或者将 reversed() 调用移动到列表定义中,但在其上调用 list():
def put_to_list(num):
items = ((0, list(reversed(range(1, num + 1)))), (1, []), (2, []))
return items[0]
进一步简化为:
def put_to_list(num):
return (0, list(reversed(range(1, num + 1)))
甚至:
def put_to_list(num):
return (0, list(range(num, 0, -1)))
