我是Python的新手,我很困惑如何将以下代码从Matlab表示为Python:
P = [2:35,50,100,200]
Run Code Online (Sandbox Code Playgroud)
在Matlab中,这将吐出:P = [2,3,...,35,50,100,200]; 但是,我似乎无法弄清楚如何使用顺序编号轻松地将值添加到列表中,这在Matlab中很容易完成.任何建议都会很棒.谢谢!
Vanilla python没有专门的语法...如果您正在使用列表,则需要两个步骤:
lst = list(range(2, 36)) # for python2.x, you don't need `list(...)`
lst.extend([50, 100, 200])
Run Code Online (Sandbox Code Playgroud)
如果你有"前沿"(python3.5),你可以使用解包:
lst = [*range(2, 36), 50, 100, 200]
Run Code Online (Sandbox Code Playgroud)
如果你正在使用numpy,你可以使用r_索引技巧(看起来有点类似于matlab版本):
>>> import numpy as np
>>> np.r_[2:36, 100, 200, 500]
array([ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 100, 200, 500])
Run Code Online (Sandbox Code Playgroud)