如果您尝试了解错误消息,则以下信息可能是多余的.请阅读开始的答案 被@ user707650.
使用MatPlotLib,我想要一个可推广的脚本,它可以从我的数据中创建以下内容.
含有窗口一个布置副区,以便有b每列副区.我希望能够改变a和b的值.
如果我有用于数据2a中副区,我想2窗口,每个窗口与先前描述的" 一个根据布置副区b每列次要情节".
我正在绘制的x和y数据是存储在np.arrays中的浮点数,结构如下:
对于所有图,x数据始终相同,长度为5.
'x_vector': [0.000, 0.005, 0.010, 0.020, 0.030, 0.040]
Run Code Online (Sandbox Code Playgroud)所有图的y数据都存储在y_vector中,其中第一个图的数据存储在索引0到5中.第二个图的数据存储在索引6到11中.第三个图得到12-18,第四个图得到-24,依此类推.
总的来说,对于这个数据集,我有91个图(即91*6 = 546个值存储在y_vector中).
尝试:
import matplotlib.pyplot as plt
# Options:
plots_tot = 14 # Total number of plots. In reality there is going to be 7*13 = 91 plots.
location_of_ydata = 6 # The values for the n:th plot can be found in the y_vector …Run Code Online (Sandbox Code Playgroud) 我刚刚阅读了为什么 Python 中没有元组理解的问题?
在接受的答案的评论中,指出没有真正的“元组理解”。相反,我们当前的选择是使用生成器表达式并将生成的生成器对象传递给元组构造函数:
tuple(thing for thing in things)
Run Code Online (Sandbox Code Playgroud)
或者,我们可以使用列表推导式创建一个列表,然后将该列表传递给元组构造函数:
tuple([thing for thing in things])
Run Code Online (Sandbox Code Playgroud)
最后,与接受的答案相反,最近的一个答案指出元组推导确实是一件事(自 Python 3.5 起),使用以下语法:
*(thing for thing in things),
Run Code Online (Sandbox Code Playgroud)
在我看来,第二个示例似乎也是首先创建生成器对象的示例。这样对吗?
就幕后发生的事情而言,这些表达之间有什么区别吗?在性能方面?我假设第一个和第三个可能有延迟问题,而第二个可能有内存问题(如链接评论中所述)。
更新:
正如预期的那样,列表理解确实要快得多。我不明白为什么第一个比第三个快。有什么想法吗?
>>> from timeit import timeit
>>> a = 'tuple(i for i in range(10000))'
>>> b = 'tuple([i for i in range(10000)])'
>>> c = '*(i for i in range(10000)),'
>>> print('A:', timeit(a, number=1000000))
>>> print('B:', timeit(b, number=1000000))
>>> print('C:', timeit(c, number=1000000))
A: …Run Code Online (Sandbox Code Playgroud) python tuples list-comprehension generator-expression python-3.x
我在Windows 10上,但是我在Windows(WSL)的Ubuntu(Ubuntu)上使用Bash熟悉Linux命令行。
我试图充分利用其功能,并认为能够index.html从Notepad ++中的CLI 打开功能真是太棒了。这可能吗?如果是这样,我将如何进行设置?
一般来说,我对命令行非常陌生,而Linux命令则少得多。
bash ×1
matplotlib ×1
notepad++ ×1
numpy ×1
python ×1
python-2.7 ×1
python-3.x ×1
subplot ×1
tuples ×1
ubuntu ×1
windows ×1