假设我有这样一个列表:
mylist = ["a","b","c","d"]
为了得到与索引一起打印的值,我可以使用Python的enumerate
函数,如下所示
>>> for i,j in enumerate(mylist):
... print i,j
...
0 a
1 b
2 c
3 d
>>>
现在,当我试图在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
所以,我的问题是:在列表理解中使用枚举的正确方法是什么?
试试这个:
您需要将
i,j
放入元组中,列表理解才能工作。或者,如果enumerate()
已经返回元组,则可以直接返回元组,而无需先将其解包:无论哪种方式,返回的结果都与预期的一样:
很明显,这与
enumerate
和列表理解语法无关。此列表理解返回元组列表:
这是一份口述清单:
列表列表:
语法错误:
不一致(IMHO)并与字典理解语法混淆:
还有一组元组:
正如“scar López所说,您可以直接传递枚举元组:
或者,如果你不坚持使用列表理解:
相关问题 更多 >
编程相关推荐