簡體   English   中英

使用 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)]

如果你想在沒有 function 的情況下編寫它,你可以:

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

或者,如果第一個值是變量:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM