gpt4 book ai didi

python - 如何使用 Django 在 Python 中过滤有序字典?

转载 作者:行者123 更新时间:2023-12-01 07:42:09 25 4
gpt4 key购买 nike

实际上我是Python新手。使用Python、Django和Mysql。我试图从 mySQL 数据库获取数据时收到的有序字典中过滤一些数据。整个数据都在变量中。但我想将其中一些存储在另一个变量中......

这是我的 view.py 文件...

all_dataobj=fetchdata.objects.all()
pserializer=fetchdataSerializers(all_dataobj,many=True)
p = pserializer.data
print(p)

我得到这样的数据......

[OrderedDict([('id', 1), ('first_name', 'raunak'), ('middle_name', 'yy'), ('last_name', 'ron')]),
OrderedDict([('id', 2), ('first_name', 'josh'), ('middle_name', 'yy'), ('last_name', 'mod')]),
OrderedDict([('id', 3), ('first_name', 'david'), ('middle_name', 'yy'), ('last_name', 'cop')]),
OrderedDict([('id', 4), ('first_name', 'bob'), ('middle_name', 'zj'), ('last_name', 'go')])]

现在我想过滤这个有序字典并将 id 1 和 2 的数据仅存储在变量中。所以,如果我打印结果变量,它应该看起来像这样......

[OrderedDict([('id', 1), ('first_name', 'raunak'), ('middle_name', 'yy'), ('last_name', 'ron')]),
OrderedDict([('id', 2), ('first_name', 'josh'), ('middle_name', 'yy'), ('last_name', 'mod')])]

请帮助我...我被困了很长时间...我怎么能这样?

最佳答案

您可以遍历列表并仅选择您想要的 id

ids_to_get = [1, 2]
#Loop over the list and select only the id's you want
res = [item for item in li if item.get('id') in ids_to_get]
print(res)

输出将是

[OrderedDict([('id', 1), ('first_name', 'raunak'), ('middle_name', 'yy'), ('last_name', 'ron')]),
OrderedDict([('id', 2), ('first_name', 'josh'), ('middle_name', 'yy'), ('last_name', 'mod')])]

如果需要查看一系列 id,例如 1 到 100(包括两个限制),则可以使用条件语句

res = [item for item in li if 1 <= item.get('id') <= 100]

关于python - 如何使用 Django 在 Python 中过滤有序字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56643358/

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