gpt4 book ai didi

python - 替换列表列表中的每个第 n 个元素

转载 作者:太空宇宙 更新时间:2023-11-04 11:12:39 26 4
gpt4 key购买 nike

我有一个列表的数字列表

a = [[1,2,3,4,5,6],
[7,8,9,10,11,12],
[13,14,15,16,17,18]]

我想用 0 替换每个第 n 个元素以获得类似的东西(在这种情况下 n=3)

a = [[0,2,3,0,5,6],
[0,8,9,0,11,12],
[0,14,15,0,17,18]]

我希望能做到这样

a = [[i, j if j %n == 0 else i] for i, j in a]

但我想不出它需要的参数。

最佳答案

您可以使用 ternary if-else 内部列表理解和 enumerate以元组形式访问每个元素的索引:

n = 3
result = [[x if i % n else 0 for i, x in enumerate(y)] for y in a]

应用于您的示例列表,

>>> a = [[1,2,3,4,5,6],[7,8,9,10,11,12],[13,14,15,16,17,18]]
>>> n = 3
>>> [[x if i % n else 0 for i, x in enumerate(y)] for y in a]
[[0, 2, 3, 0, 5, 6], [0, 8, 9, 0, 11, 12], [0, 14, 15, 0, 17, 18]]

关于python - 替换列表列表中的每个第 n 个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57837164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com