我不知道下面的代码做了什么,也不知道item[1][0]
到第8行的地方。它没有定义。我不明白下一行也有什么作用。
顺便说一句,我有java背景。你知道吗
我有理解的概念,所以我得到了第七行。你知道吗
from django.db import models
from pygments.lexers import get_all_lexers
from pygments.styles import get_all_styles`
LEXERS = [item for item in get_all_lexers() if item[1]]
LANGUAGE_CHOICES = sorted([(item[1][0], item[0]) for item in LEXERS])
STYLE_CHOICES = sorted([(item, item) for item in get_all_styles()])
在上面的代码中,
[item for item in get_all_lexers() if item[1]]
返回list
的tuple's
,它存储在变量LEXERS
LEXERS
中的每个元素都包含一个带有nested tuple
的tuple
在线
LANGUAGE_CHOICES = sorted([(item[1][0], item[0]) for item in LEXERS])
, 同样,通过列表理解,它在list
的tuple
上迭代,并用一些过滤的数据返回list
的list
。你知道吗在列表理解中,当在列表
for item in LEXERS
上迭代时,它将来自LEXERS
的每个元素视为item
,并在item
上执行操作(即在列表元素上)。你知道吗假设在遍历列表时,您得到的是
item
数据('LessCss', ('less',), ('*.less',), ('text/x-less-css',))
它正在访问item[1]
,即('less',)
,item[1][0]
表示它正在从元组的第一个位置返回'less'
。你知道吗希望这个解释能帮助你更好的理解列表!你知道吗
相关问题 更多 >
编程相关推荐