【发布时间】:2014-12-17 09:16:05
【问题描述】:
我在一个名为“train_data”的嵌套列表中有元素,如示例中所示:
[0] [0.935897, 1.0, 1.0, 0.928772, 0.053629, 0.0, 39.559883, 0.009494, 0]
[1] [0.467681, 1.0, 1.0, 0.778987, 0.069336, 0.0, 56.571999, 0.024675, 0]
[2] [0.393258, 1.0, 1.0, 0.843201, 0.068779, 0.0, 66.866669, 0.069206, 1]
我想访问前 8 列的所有行(除了最后一列),以及只有最后一列的所有行。我需要在一行代码中不使用 for 循环。
我尝试过这样的事情:
print train_data[0][:]
print train_data[:][0]
但这给了我相同的结果:
[0.935897, 1.0, 1.0, 0.928772, 0.053629, 0.0, 39.559883, 0.009494, 0]
[0.935897, 1.0, 1.0, 0.928772, 0.053629, 0.0, 39.559883, 0.009494, 0]
有人可以帮帮我吗?
编辑:
抱歉,第一个查询的预期输出是:
[0.935897, 1.0, 1.0, 0.928772, 0.053629, 0.0, 39.559883, 0.009494]
[0.467681, 1.0, 1.0, 0.778987, 0.069336, 0.0, 56.571999, 0.024675]
[0.393258, 1.0, 1.0, 0.843201, 0.068779, 0.0, 66.866669, 0.069206]
第二个查询是:
[0]
[0]
[1]
【问题讨论】:
-
预期输出是什么
-
您应该使用
numpy数组,它提供多维切片,而不是嵌套列表。或者,[row[:-1] for row in train_data]会得到你想要的。
标签: python list nested-lists