【问题标题】:what is list method in python? [closed]python中的list方法是什么? [关闭]
【发布时间】:2013-10-09 04:14:05
【问题描述】:

我在 python 网站上找不到任何关于 list() 的参考资料。 你能提供一个参考吗?

Django 中的一些代码示例:

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

这是什么意思?

【问题讨论】:

  • list() 将查询集转换为 python 列表。
  • 哦.. 它在 python 站点中.. :p.. .Thanks @MartijnPieters :)
  • 平心而论,这个人可能确实很难找到对 list() 函数的引用,因为搜索引擎不能很好地使用括号。
  • @akdev2 这是python基本列表,即[]你最好先在python上工作。如果您使用的是 linux,只需在终端中输入 python 即可进入 python 控制台。现在尝试基本的python命令。我推荐书thinkpython。 +1 这么多的反对票给你是不公平的。

标签: python django


【解决方案1】:

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

给定一个可迭代对象,将可迭代对象的所有元素复制到结果列表中:

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

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

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

这在Django QuerySet() documentation 上有专门记录:

list()。通过调用list() 来强制评估QuerySet。例如:

entry_list = list(Entry.objects.all())

但请注意,这可能会产生很大的内存开销,因为 Django 会将列表的每个元素加载到内存中。相比之下,迭代 QuerySet 将利用您的数据库来加载数据并仅在您需要时实例化对象。

【讨论】:

    猜你喜欢
    • 2017-02-05
    • 2012-05-04
    • 2022-01-21
    • 2022-12-17
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 2012-04-15
    相关资源
    最近更新 更多