我来自 javascript,我想知道如何通过 python 中称为列表的数组。
"dispatches_types": [
{
"status_id": 2
},
{
"status_id": 1
},
{
"status_id": 1
},
{
"status_id": 1
},
{
"status_id": 2
}
]
我遇到的问题是我想添加一个计数器,当status_id
它为1时会增加,但这是动态的,因为有时它可以带来这种状态,有时不会。有时它甚至可以调出空列表。
到目前为止,我正在尝试这种方式:
cont = 0
if len(dispatch_types) > 0:
for status1 in dispatch_types:
if 1 in status1:
cont +=1
else:
cont = 0
还有几种“植物性”形式,或者至少可以更好地利用语言工具,同时它们通常更容易阅读。首先,您的示例是一个字典,其键
"dispatches_types"
包含其他字典的列表。像这个:status_id == 1
您正在寻找的是确定提到的列表中有多少。一种方法如下:[1 for e in d["dispatches_types"] if e["status_id"]==1]
我们使用列表推导来构造一个新列表,1
每次我们都有一个值status_id == 1
sum()
添加列表。status_id == 1
不存在的列表一致,在这两种情况下都会返回0
还。你可能会觉得很有趣,类的使用
Counter()
他
Counter
会从列表中返回你e["status_id"] for e in d["dispatches_types"]
。一个类似字典的对象,每个对象都有出现status_id
我以这种方式解决了它,但我仍然有疑问: