gpt4 book ai didi

python - 在 python 中合并两个列表 - 但在合并期间对它们进行排序

转载 作者:太空宇宙 更新时间:2023-11-04 10:38:32 24 4
gpt4 key购买 nike

我正在查询两个模型:

fq = MyModel.objects.order_by('-added_time')
sq = MySecondModel.objects.order_by('-added_time')

比如说,查询集是:

1_1, 1_2, 1_3
2_1, 2_2, 2_3

我要:

1_1, 2_1, 1_2, 2_2, 1_3, 2_3

我试过的是:

all_res = list(fq) + list(sq)

但它给出 1_1, 1_2, 1_3, 2_1, 2_2, 2_3

我应该怎么做才能实现我想要的?我正在使用 paginator,所以结果也应该是一个查询集。

编辑:

我现在是这样的:

fq= MyModel.objects.order_by('-added_time')
sq = MySecondModel.objects.order_by('-added_time')
all_res = sorted(chain(fq, sq),key=attrgetter('-added_time'))

我有这种类型的分页,我在页面中设置左右两侧的距离。

enter image description here

我设置的左右距离如下:

min = all_res.number - 5
max = all_res.number + 5

这几行给我错误:'list' object has no attribute 'number' since all_res 是一个列表。

最佳答案

你是要对它们进行排序,还是要对它们进行交错?如果是前者,

all_res = sorted(list(fq) + list(sq), key = lambda x: (x[-1], x[0]))

关于python - 在 python 中合并两个列表 - 但在合并期间对它们进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22212930/

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