簡體   English   中英

如何枚舉不帶括號的列表?

[英]How do I enumerate a list without parenthesis?

我有這個 python 代碼,但它在枚舉中添加了括號。 我不需要括號,那么如何在 python 中執行此操作? 我所需要的只是枚舉列表。 這就是它的作用

num =[(0, '1'), (1, '7'), (2, '11'), (3, '13')

這是我的代碼

num =['1', '7', '11', '13']
print (list(enumerate(num,0)))

我在下面需要這個,但我不需要代碼。

num = [1,'1', 2,'7',3,'11',4,'13'] 

只需運行如下循環:

num =['1', '7', '11', '13']
final_list = list()
for index, i in enumerate(num):
    final_list.extend((index, i))

print(final_list)
[0, '1', 1, '7', 2, '11', 3, '13']

使用itertools.chain.from_iterable

from itertools import chain

num =['1', '7', '11', '13']
result = list(chain.from_iterable(enumerate(num)))
print(result)

Output:

[0, '1', 1, '7', 2, '11', 3, '13']

output 你的意思是enumerate(num,1)

又是一條捷徑。

將元組轉換為列表后,我們可以添加到一個空列表中。 +這里連接兩個列表

import functools
functools.reduce(lambda acc,x: acc + list(x),enumerate(num,1),[])

acc is []最初是空列表並添加類似['hello'] + [1,2] = ['hello',1,2]

Output

[1, '1', 2, '7', 3, '11', 4, '13']

它類似於 Yugandhar Chaudhari 的回答。

我使用map(list, ...)將元組轉換為列表,然后我可以使用sum()而不是+reduce()將所有列表添加到空列表[]

num = ['1', '7', '11', '13']

print(sum(map(list, enumerate(num, 1)), []))

暫無
暫無

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

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