Skip to main content
 首页 » 编程设计

python之如何在列表理解中修改 Python 列表的最后一个元素

2025年05月04日9powertoolsteam

我有一个像下面这样的代码段会抛出一个无效的语法错误:

lst = [0, 0, 0] 
new_lst = [lst[-1] = i + 1 for i in range(3)] 

基本上,我希望 new_lst 成为列表的列表,其中每个列表都是 lst 但最后一个元素已更改。知道如何在 Python 中执行此操作吗?

请您参考如下方法:

您只能在它们是独立语句时进行赋值,即不在列表理解范围内。这方面的其他示例是控制语句,如 ifs 或 fors

In [945]: lst = [0, 0, 0] 
 
In [946]: new_lst = [lst[:-1] + [i + 1] for i in range(3)] 
 
In [947]: new_lst 
Out[947]: [[0, 0, 1], [0, 0, 2], [0, 0, 3]] 

lst[:-1] 从 lst 中获取除最后一个元素之外的所有元素,并且 [i + 1] 将附加到列表结束