什么是python中的list方法?

时间:2013-10-02 17:06:11

标签: python django

我在python网站上找不到关于list()的任何引用。 你能提供一下它的参考吗?

Django中的一些代码示例:

list(Tag.objects.filter(name__istartswith=q)[:10])

这是什么意思?

1 个答案:

答案 0 :(得分:1)

list()创建一个Python列表对象。

给定一个iterable,可迭代的所有元素都被复制到结果列表中:

  

返回一个列表,其项目与 iterable 的项目相同且顺序相同。

表达式Tag.objects.filter(name__istartswith=q)[:10]创建一个迭代,产生10个Tag个对象,其名称以q开头(不区分大小写匹配)。

这只是创建查询结果的本地副本,也许代码可以直接索引到列表中,而不必每次都重新发出新的查询。

Django QuerySet() documentation

具体记录了这一点
  

<强> list() 即可。通过调用QuerySet强制评估list()。例如:

entry_list = list(Entry.objects.all())
     但是,请注意,这可能会产生大量内存开销,因为Django会将列表中的每个元素加载到内存中。相反,迭代QuerySet将利用您的数据库加载数据并仅在您需要时实例化对象。