在列表中创建一个非线性项簇?

2024-03-28 09:07:59 发布

您现在位置:Python中文网/ 问答频道 /正文

请先发帖子,如果我做错了什么,请告诉我。
我正在用python(Mac上的Spyder 3.2)创建一个具有非线性值的列表。
我想得到一个输出,如下所示:

a = [1, 2, 3, 4, 600, 601, 602, 603, 1200, 1201, 1202, 1203,...]

列表的长度和变量之间的步长将根据我正在读取的文件中的其他变量而变化。你知道吗

创建这样的列表的最佳方法是什么?你知道吗


Tags: 文件方法列表macspyder步长发帖子
2条回答

可以使用append函数将元素添加到Python列表的末尾。例如

a = [1, 2, 3, 4, 600, 601, 602, 603]
a.append(1200)
print(a)

将输出[1, 2, 3, 4, 600, 601, 602, 603, 1200]。你可以设置你的程序流程,但你想确保你的其他变量采取的价值,你希望他们。你知道吗

或者,根据其他变量值的计算方式,可以将列表声明重写为list comprehension或多个嵌套列表理解。例如,小于401的完美正方形列表可以如下生成:

a = [x*x for x in xrange(21)]

按照这种思路,如果你能将一个函数与你的数据相匹配,你就可以用一个列表来生成你的列表。你知道吗

a = list(range(1,5,1)) + list(range(600,604,1)) + list(range(1200,1204,1))
print(a)
[1, 2, 3, 4, 600, 601, 602, 603, 1200, 1201, 1202, 1203]

相关问题 更多 >