在 Django 中读取元组内的列表
Posted
技术标签:
【中文标题】在 Django 中读取元组内的列表【英文标题】:Reading a list inside a tuple in Django 【发布时间】:2015-04-21 22:12:15 【问题描述】:我的问题是我想读取一个列表(带有 for 循环),它位于这样的元组中:
items = a, b, [1, 2, 3]
'a' 和 'b' 是我需要的其他数据。
现在为了阅读列表,我这样做了,但不起作用:
% for item in items.3 %
item
% endfor %
所以我的问题是如何使用 for 循环读取元组内的列表?
感谢您的帮助。
【问题讨论】:
我删除了erlang标签,因为没有引用Erlang编程语言。 【参考方案1】:我刚刚删除了部分代码并重新开始。 额外提示:如果元组中的列表是元组列表,并且您想读取元组的一部分。您必须使用新的 for 循环来读取它。
例如,我有这个:
items = a, b, [1, 2, 3, 4, 5, 6]
现在从元组中获取列表:
% for item in items.3 %
item
% endfor %
现在从列表中的元组中获取一些东西
我尝试这样做但它不起作用,如果有人知道如何解决这个问题,请添加评论:
% for item in items %
item.1
% endfor %
这是我完成它的诀窍:
% for item in items %
% for i in item %
i
% endfor %
% endfor %
要获取最外层循环的计数器,请查看此帖子: how-to-access-outermost-forloop-counter-with-nested-for-loops-in-django-template
谢谢
【讨论】:
【参考方案2】:列表/元组中的 Python 索引从零开始。所以你应该使用索引2
:
% for item in items.2 %
item
% endfor %
顺便说一句,元组是用圆括号定义的,而不是花括号:
items = (a, b, [1, 2, 3])
【讨论】:
它没有用。如果我输入 items.0,我会收到错误。即使在 django 中,我也会得到大括号。我想是因为我在底层代码中使用 Erlang。 python 中的花括号是定义set
的快捷方式。 Python 集没有被索引,所以1, 2, 3[0]
会引发错误。当然,元组 (1, 2, 3)[0]
可以正常工作。
我破案了。但我不知道问题是什么。我删除了那部分代码的所有内容并重新开始。现在它工作正常。感谢您的帮助。以上是关于在 Django 中读取元组内的列表的主要内容,如果未能解决你的问题,请参考以下文章
我可以将新值分配/移动到元组内的 unique_ptr 中吗?