从循环中存储值

时间:2018-03-20 17:56:47

标签: python arrays

例如我有这段代码:

for r in res:
    for x,y in r:
        print(x,y)

输出是这样的:

[0 0 0 1 0 0 0 0 0 1 1 0 1] (0.3779644730092272, 1)
[1 1 0 0 1 1 0 0 0 0 0 0 0] (0.4472135954999579, 0)
[0 0 1 1 0 0 0 1 0 0 0 0 1] (0.4472135954999579, 1)

但是如何将第一列0和1保存在单个变量中,如下所示:

[[0 0 0 1 0 0 0 0 0 1 1 0 1]
[1 1 0 0 1 1 0 0 0 0 0 0 0]
[0 0 1 1 0 0 0 1 0 0 0 0 1]]

我也试过这个:

for r in res:
    for x,y in r:
        first = x

但这仅存储最后一个值。在python中有一个巧妙的方法或一个内衬可以做到这一点吗?

1 个答案:

答案 0 :(得分:4)

这看起来像直接列表理解:

result = [x for r in res for x,y in r]

您似乎正在使用2D数组 - 您可以考虑在此处使用numpy