如何使用Django过滤Python中的有序字典?

2024-10-04 01:22:25 发布

您现在位置:Python中文网/ 问答频道 /正文

实际上,我是新来的Python.工作使用Python、Django和Mysql。 我试图从一个有序的字典中过滤一些数据,这个字典是我从mySQL获取数据时收到的数据库整个数据都在一个变量中。但我想把它存储在另一个变量中。。。你知道吗

这是我的视图.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')])]

请帮帮我…我被困了很长时间…我怎么会这样??你知道吗


Tags: 数据nameidmiddle字典allfirstordereddict
1条回答
网友
1楼 · 发布于 2024-10-04 01:22:25

您可以遍历列表,只选择所需的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]

相关问题 更多 >