Python使用枚举内部列表理解

发布于 2021-01-29 19:22:56

假设我有一个这样的列表:

mylist = ["a","b","c","d"]

要获得打印的值及其索引,我可以使用Python的enumerate函数,如下所示

>>> for i,j in enumerate(mylist):
...     print i,j
...
0 a
1 b
2 c
3 d
>>>

现在,当我尝试在A中使用它时,出现list comprehension了这个错误

>>> [i,j for i,j in enumerate(mylist)]
  File "<stdin>", line 1
    [i,j for i,j in enumerate(mylist)]
           ^
SyntaxError: invalid syntax

所以,我的问题是:在列表理解中使用枚举的正确方法是什么?

关注者
0
被浏览
43
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    尝试这个:

    [(i, j) for i, j in enumerate(mylist)]
    

    您需要放入i,j一个元组以使列表理解起作用。另外,鉴于enumerate() 已经 返回一个元组,您可以直接将其返回而无需先拆包:

    [pair for pair in enumerate(mylist)]
    

    无论哪种方式,返回的结果都是预期的:

    > [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看