我想将名为“ child_Before”的列表列表中的第一个列表中的所有值都设置为零以下。在列表之后,下面还显示了我为完成此任务而编写的代码:
child_Before = [[9, 12, 7, 3, 13, 14, 10, 5, 4, 11, 8, 6, 2],
[1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1],
[[1, 0], [1, 1]]]
for elem in range(len(child_Before[0])):
child_Before[0][elem] = 0
以下是预期结果:
child_After = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1],
[[1, 0], [1, 1]]]
但是,我认为应该有一种更轻松的方法来完成此练习。因此,欢迎您的帮助。预先谢谢你。
答案 0 :(得分:0)
只需创建一个[0]列表,其长度与原始列表相同。
# Answer to this question - make first list in the list to be all 0
child_Before[0] = [0] * len(child_Before[0])
关于您的回答,我可以对其进行更正以使该列表的列表中的所有元素均为零。
# Make all elements 0
for child in range(len(child_Before)):
child_Before[child] = [0] * len(child_Before[child])
答案 1 :(得分:0)
使用列表理解:
child_after = [[i if n != 0 else 0 for i in j] for n, j in enumerate(child_Before)]