[英]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.