使用 for 循环和预定义的第一个元素创建一个 python 列表

Create a python list with for-loop and predefined first element

我想用 for loop 在一行中创建一个列表,如下所示:

a = [i for i in range(0, 5)]

在这种情况下 a 等于 a = [0, 1, 2, 3, 4]。但是我想将第一个元素(即:0)预定义为 100.

因此我正在寻找在一行中使用 for-loop 生成 a = [100, 1, 2, 3, 4] 的语法。

像这样:

a = [100, i for i in range(1, 5)]

对于此示例,由于我们知道迭代器的第一个值 i,因此以下示例将起作用,但假设第一个迭代器值是未知的,或者可以随其他一些数据而改变。 我该如何编码?


如果我知道 i 的第一个值,这可能会起作用:

a = [100 if i == 0 else i for i in range(0, 5)]

因为它是未知的或可以改变的,所以我需要以某种方式指定 if-statementfor-loop 的第一个循环。

def create_list(first_val, x, y):
    return [first_val] + [i for i in range(x, y)]

如果想写成没有函数的,可以:

a = [100] + [i for i in range(1, 5)]

或者,如果第一个值是一个变量:

a = [val] + [i for i in range(1, 5)]