如何枚举不带括号的列表?

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)

输出:

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

根据您的输出,您的意思是 enumerate(num,1)

只是另一条捷径。

我们可以在将元组转换为列表后添加到一个空列表中。 + 这里连接了两个列表

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

acc 是 [] 最初是空列表并添加 ['hello'] + [1,2] = ['hello',1,2]

输出

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

这与 Yugandhar Chaudhari 的回答相似。

我使用 map(list, ...) 将元组转换为列表,然后我可以使用 sum() 而不是 + 和 [=15= 将所有列表添加到空列表 [] ]

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

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