我曾想过,如果您运行了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
中列表的前几个元素的列表。谈论循环:(一次)循环非常有效地访问某些内容。内部所有魔术函数(如上面的理解)都在数据上进行迭代。