如何将Python二维列表中每个子列表的首个元素替换为0?
解决方法
方法1:原地修改原列表
如果不需要保留原列表的原始内容,可以直接遍历每个子列表,修改第一个元素的值:
a = [[4.0, 4, 4.0], [3.0, 3, 3.6], [3.5, 6, 4.8]] for sublist in a: sublist[0] = 0
执行后原列表a会直接变成你需要的目标结果。
方法2:用列表推导式生成新列表
如果想保留原列表不变,用列表推导式构造新的二维列表,把每个子列表的第一个元素替换为0,其余元素原样保留:
a = [[4.0, 4, 4.0], [3.0, 3, 3.6], [3.5, 6, 4.8]] new_a = [[0] + sublist[1:] for sublist in a]
这里[0] + sublist[1:]的逻辑是:创建一个以0开头的新列表,再拼接原子列表从索引1开始的所有元素,最终得到第一个元素为0的新子列表。
内容的提问来源于stack exchange,提问作者Mathew John
相关产品推荐
相关产品推荐

