【发布时间】:2021-05-05 03:19:26
【问题描述】:
我有一个列表对象,python中的列表对象如下
[(<QA: QA object (8)>, 2), (<QA: QA object (12)>, 2), (<QA: QA object (7)>, 1), (<QA: QA object (9)>, 1), (<QA: QA object (13)>, 1), (<QA: QA object (14)>, 1), (<QA: QA object (15)>, 1), (<QA: QA object (16)>, 1), (<QA: QA object (17)>, 1)]
如果您查看 aboev QA 对象,它会根据计数进行排序,其中 QA 对象 (8) 首先出现,因为它的计数为 2,然后是下一个 QA 对象,依此类推......
但是,当我只想将 QA 对象单独捕获到一个集合中时,排序会被扭曲。
for eachCandidate in alist:
wanted_items.add(eachCandidate[0])
print(wanted_items)
上面的打印语句将其打印为
{<QA: QA object (7)>, <QA: QA object (8)>, <QA: QA object (9)>, <QA: QA object (12)>, <QA: QA object (13)>, <QA: QA object (14)>, <QA: QA object (15)>, <QA: QA object (16)>, <QA: QA object (17)>}
仔细看,
如何确保发生这种情况。换句话说,我能做些什么来避免排序的失真。有没有办法敲掉list中的count列,把list转换成set。
我需要集合中的数据,因为 Django 框架只返回一个集合。
【问题讨论】:
-
套装没有顺序。您观察到的是缩进行为。
标签: python list sorting set django-queryset