替换列表中的第n个元素

yr面

我有一个数字列表

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]

但我不知道它需要什么参数。

戈戈伦

您可以在内部列表理解内使用三元 if-elseenumerate以每个元素作为元组访问索引:

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]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章