Django rest框架序列化教程

2024-04-23 12:19:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我不知道下面的代码做了什么,也不知道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()])

Enter link description here


Tags: 代码infromimportforgetpygments地方
1条回答
网友
1楼 · 发布于 2024-04-23 12:19:33

在上面的代码中,[item for item in get_all_lexers() if item[1]]返回listtuple's,它存储在变量LEXERS

LEXERS中的每个元素都包含一个带有nested tupletuple

>> LEXERS[1]
>> ('LessCss', ('less',), ('*.less',), ('text/x-less-css',))

在线LANGUAGE_CHOICES = sorted([(item[1][0], item[0]) for item in LEXERS]), 同样,通过列表理解,它在listtuple上迭代,并用一些过滤的数据返回listlist。你知道吗

在列表理解中,当在列表for item in LEXERS上迭代时,它将来自LEXERS的每个元素视为item,并在item上执行操作(即在列表元素上)。你知道吗

假设在遍历列表时,您得到的是item数据

('LessCss', ('less',), ('*.less',), ('text/x-less-css',))它正在访问item[1],即('less',)item[1][0]表示它正在从元组的第一个位置返回'less'。你知道吗

希望这个解释能帮助你更好的理解列表!你知道吗

相关问题 更多 >