Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中向按顺序间隔的列表添加值?_Python_List_Range - Fatal编程技术网

在python中向按顺序间隔的列表添加值?

在python中向按顺序间隔的列表添加值?,python,list,range,Python,List,Range,我对Python相当陌生,对如何将以下代码从Matlab表示为Python感到困惑: P = [2:35,50,100,200] 在Matlab中,这将显示:p=[2,3,…,35,50100200];然而,我似乎不知道如何像在Matlab中那样轻松地将值添加到具有顺序编号的a列表中。任何建议都很好。谢谢 Vanilla python没有专门的语法用于此。。。如果使用列表,则需要两个步骤: lst = list(range(2, 36)) # for python2.x, you don't

我对Python相当陌生,对如何将以下代码从Matlab表示为Python感到困惑:

P = [2:35,50,100,200]

在Matlab中,这将显示:p=[2,3,…,35,50100200];然而,我似乎不知道如何像在Matlab中那样轻松地将值添加到具有顺序编号的a列表中。任何建议都很好。谢谢

Vanilla python没有专门的语法用于此。。。如果使用列表,则需要两个步骤:

lst = list(range(2, 36))  # for python2.x, you don't need `list(...)`
lst.extend([50, 100, 200])
如果您有“出血边缘”(python3.5),请执行以下操作:

如果您使用的是
numpy
,则可以使用
r\u
索引技巧(看起来有点类似于matlab版本):


如果您有幸使用Python3.5,您可以将(from)与
范围一起使用:

>>> [*range(2, 36), 50, 100, 200]
[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, 50, 100, 200]

请注意,
range
生成的最后一个值比
end
参数小一个。

您是否尝试添加一个值,然后对列表进行排序,以便保留其顺序编号我不熟悉matlab@FujiApple除非你不能,因为整数是不可数的,所以它会失败…@JonClements,真是太傻了me@JonClements--谢谢。我想它确实有这样的语法(有点):-)
np.r\u2:36,50,100,200]
?@DSM——我想里面可能有东西。我会更新。
范围(2,36)
是一个列表。我想您不必做
列表(范围(2,36))
@Trying2Learn:
range
只返回Python 2中的列表。在现代Python中,它返回一个特殊的
范围
对象。
>>> 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])
>>> [*range(2, 36), 50, 100, 200]
[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, 50, 100, 200]