Skip to main content
 首页 » 编程设计

python之迭代python中的子列表

2025年05月04日12zdz8207

假设我有以下列表:

my_list = [2, 3, 4, 1, 44, 222, 43, 22] 

如何在不使用 for 循环的情况下为子列表中的所有元素分配一个常量值?像这样的东西:

my_list[0:5:1] = 1 # Assign 1 to first 5 elements. This code is wrong since list requires an iterator  

具体来说,我想为所有元素分配一个常量值,从索引 i 到列表的 end 即

my_list[i:end] = 1 # What I would like to do. The code itself is wrong   

关于如何在 python 中以最干净的方式做到这一点有什么建议吗?

请您参考如下方法:

有时 2 线比 1 线好。

for i in range(0,5): 
    my_list[i] = 0 

如果你真的想混淆一些东西:

这是一个单行代码,可以在不更改原始数组的情况下完成这项工作。

new_list = [0 if i in range(0,5) else x for x, i in zip(my_list, xrange(len(my_list)))] 

您更愿意在未知代码中遇到哪个?或者 6 个月后你自己的代码。