簡體   English   中英

在 python 列表理解中獲取索引值(對於前面的變量)

[英]Get index value in python list comprehension (for in preceded with variable)

此語法能夠在列表(或數組)之上定義新列表:

[v for v in ['a', 'b']]

但是如何獲取列表的索引呢? 這不起作用

[k for k, v in ['a', 'b']]

預期 output

[0, 1]

可能您的意思是索引,因為列表中沒有鍵。 我們可以像這樣得到它們:

indexes = [index for index,element in enumerate(your_list)]

但這並不是必需的,我們可以獲取列表的長度並從中獲取索引,因為索引是從 0 到 [列表長度]-1:

length = len(your_list)
indexes = list(range(length))
[k for k, v in enumerate(['a', 'b'])]

output

[0, 1]

您可以使用range()

range(len(['a', 'b']))

range()將返回一個序列 如果你特別需要一個列表,你可以做

list(range(len(['a', 'b'])))

如評論中所述,在 python 列表中沒有鍵。

enumerated_list = [(index, value) for index, value in enumerate(['a', 'b'])]
print(enumerated_list)

output: [(0, 'a'), (1, 'b')]

我認為您的意思是index 請記住,列表沒有鍵,它們是字典。

[index for index, value in enumerate(['a', 'b'])]

enumerate function 基本上是range ,但它返回索引和值。

此處閱讀有關enumerate的更多信息。

暫無
暫無

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

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