gpt4 book ai didi

HTML 中的 Python : Iterating over several lists by changing the name of a variable

转载 作者:行者123 更新时间:2023-11-28 01:18:50 24 4
gpt4 key购买 nike

我对此很陌生,所以如果问题的级别较低,请原谅。

我正在尝试以列表变量的形式浏览 21 个类(class)笔记,获取每个类(class)笔记的内容,每个类(class)笔记包含几个子类别。这些将通过 HTML 显示在网页中。

类(class)笔记被命名为lesson1, lesson2, ... lesson21

我的代码是这样的:

    {% for i in range(1, 22) %}

{% for content in "lesson" + "str(i)" %}
<div class="col-md-9 contents" id="{{content[0]}}">
{{content[2] | safe}}
</div>
{% endfor %}

{% endfor %}

我显然知道我所做的是不正确的,但我决定把"lesson"+ "str(i)" 留在那儿,这样你就可以看到我所希望的去做。当然,这是我想要 lesson1lesson2 等的地方。

所以你可以希望看到我正在尝试做什么,但我不知道该怎么做,也无法在任何地方找到答案。如何让第二个 for 循环运行 lesson1lesson2 等直到 lesson21

content[2] 是列表中该特定子类别内容的占位符。每节课包含 2 到 6 个列表。

附加信息:

我收到的第一个答案很好,但对我来说不是很好,因为我的列表已经是列表的列表。即

类(class) 1 = [
['引用标题', '部分标题', """内容"""],
['reference-titel2', 'part-titel2', """内容"""],
[……]
]

而且,我正在上面构建一个下拉菜单,它看起来像这样:

      `<div class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">
The Web and Basic HTML
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
{% for content in lesson1 %}
<li><a href="#{{content[0]}}">{{content[1]}}</a></li>
{% endfor %}
</ul>
</div>`

因此,如果我将所有 21 课的所有不同子类别放入一个非常大的子类别列表中,我将无法为它们制作单独的下拉菜单,每个都有他们自己的标题。

或者我会?如果是这样,我该怎么做?

最佳答案

您应该使用列表而不是单独的变量。所以不是:

lession1 = [category1, category2, ...]
lession2 = [category10, category11, ...]

使用:

lessons = [
[category1, category2, ...],
[category10, category11, ...]
]

因此您可以遍历模板中的所有部分:

{% for lesson in lessons %}

{% for content in lesson %}
<div class="col-md-9 contents" id="{{content[0]}}">
{{content[2] | safe}}
</div>
{% endfor %}

{% endfor %}

编辑:

如果您有变量x1,x2,x3,x4,...,x20,那么使用列表而不是单独的变量总是更好并且可能。

lessons = [
[
['reference-titel', 'part-titel', """content"""],
['reference-titel2', 'part-titel2', """content"""],
[...]
],
[
['reference-tite10', 'part-tite100', """content"""],
['reference-titel11', 'part-tite200', """content"""],
[...]
]
]

template = `{% for lesson in lessons %}
<div class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">
The Web and Basic HTML
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
{% for content in lesson %}
<li><a href="#{{content[0]}}">{{content[1]}}</a></li>
{% endfor %}
</ul>
</div>
{% endfor %}`

为了可读性,您可以定义一个类而不是最里面的数组:

class Drop:
def __init__(self, reference, part, content):
self.reference = reference
self.part = part
self.content = content

lessons = [
[
Drop('reference-titel', 'part-titel', """content"""),
Drop('reference-titel2', 'part-titel2', """content"""),
Drop(...)
],
[
Drop('reference-tite10', 'part-tite100', """content"""),
Drop('reference-titel11', 'part-tite200', """content""")
]
]

template = `{% for lesson in lessons %}
<div class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">
The Web and Basic HTML
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
{% for content in lesson %}
<li><a href="#{{content.reference}}">{{content.part}}</a></li>
{% endfor %}
</ul>
</div>
{% endfor %}`

关于HTML 中的 Python : Iterating over several lists by changing the name of a variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34558065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com