我是Python和编码的新手。我的问题是如何在这个字符串中找到字典的数量。 这是一个名为dataHistory.json的文件
{
"lists": [
{
"number": 1,
"name": "A"
},
{
"number": 2,
"name": "B"
},
{
"number": 3,
"name": "C"
},
{
"number": 4,
"name": "D"
},
{
"number": 5,
"name": "E"
},
{
"number": 6,
"name": "F"
},
{
"number": 7,
"name": "G"
},
{
"number": 8,
"name": "H"
},
{
"number": 9,
"name": "I"
},
]
}
我想得的结果是打印9的数字
也作为提醒dataHistory.json将添加更多词典。
我的代码我开始了。
def _get_data_history(self):
theHistory = open(self.history_path)
holdHistory = json.load(theHistory)
theHistory.close()
return holdHistory
theDataHistory = obj._get_data_history()
print theDataHistory['RestaurantsHistory'] # stuck here
由于
答案 0 :(得分:2)
也许这个,但不知道'RestaurantsHistory'来自哪里:
print len(theDataHistory['RestaurantsHistory']['lists'])
否则:
print len(theDataHistory['lists'])
答案 1 :(得分:1)
如果你有任何事物的列表(或元组,集合,字典,字符串或许多其他可能性)(即使是混合的东西),len(the_list)
给出了元素的数量。 len
的篇幅很短。
您的示例JSON会生成一个包含一个键"lists"
的字典。您可以使用json_data["lists"]
获取值,因此元素数量为len(json_data["lists"])
。此处json_data
是theDataHistory
或theDataHistory['RestaurantsHistory']
,由于示例中没有RestaurantsHistory
,因此不清楚代码末尾发生了什么
答案 2 :(得分:0)
<强> LEN(S)强>
返回对象的长度(项目数)。争论可能 是一个序列(如字符串,字节,元组,列表或范围)或a 集合(例如字典,集合或冻结集)。
select dayname(datein),dayofweek(datein),
count(distinct if(hour(timein) between 9 and 11, salenbr,0)) as `9-11`
[...]