使用 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-statement
中 for-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)]
我想用 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-statement
中 for-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)]