我曾想过,如果您运行了print mdarray[::][1],则将打印数组中每个元素的第一个子元素。我在哪里出错了?

我特别需要一个p.plot(x,y[::][1]),我绝对不希望使用for循环,因为它非常慢,除非让我感到困惑。

我怎么了?谢谢!

编辑

我仍然不知道我在哪里[[::]东西,但是我都解决了我的问题

p.plot(x,c[:,1],color='g',label="Closing value")

要么

p.plot(x,[i[1] for i in c],color='g',label="Closing value")


时间似乎没有任何明显的区别,所以我想我将使用第二个,因为它对我来说看起来更pythonic /可读。还是我错过了什么?

感谢您的所有帮助!

最佳答案

你做了什么:

您使用了mdarray[::]。这样会复制(浅)mdarray。然后,您使用[1]访问了它的第二个元素。 [0]是第一个。

您可以做的是列表理解:

[item[0] for item in mdarray]


这将返回mdarray中列表的前几个元素的列表。

谈论循环:(一次)循环非常有效地访问某些内容。内部所有魔术函数(如上面的理解)都在数据上进行迭代。

09-15 23:04