我有一个数字列表
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
-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]]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句