计算字符串python

时间:2016-05-11 19:54:48

标签: python json dictionary

我是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

由于

3 个答案:

答案 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_datatheDataHistorytheDataHistory['RestaurantsHistory'],由于示例中没有RestaurantsHistory,因此不清楚代码末尾发生了什么

答案 2 :(得分:0)

<强> LEN(S)

  

返回对象的长度(项目数)。争论可能   是一个序列(如字符串,字节,元组,列表或范围)或a   集合(例如字典,集合或冻结集)。

ref doc.

select dayname(datein),dayofweek(datein), 
count(distinct if(hour(timein) between 9 and 11, salenbr,0)) as `9-11`
[...]