Skip to main content
 首页 » 编程设计

python之将数字反向添加到列表中

2025年05月04日15lyhabc

我正在尝试将从 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)))