繁体   English   中英

python保存用try创建的计算值,除了在函数中列出

python save calculated value created with try except in function to list

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

嗨,我有这些嵌套的字典和列表作为我的数据。 这是两场比赛的摘要。

  my_stats = [
     {'_id': 'GLEvHIL2020031419A', 'stats': 
     {'data': [
     {'area': 'B1', 'key': 'Lineouts', 'possession': 'against', 'second': 7, 'endSecond': 27, 
     'time': '2020-03-14T12:00:43', 'Lineout Presentation': 'Scrappy', 'Lineout Errors': 'Lost'},
     {'area': 'D2', 'key': 'Lineouts', 'possession': 'for', 'second': 344, 'endSecond': 383, 'time': 
      '2020-03-14T12:53:43', 'Lineout Presentation': 'Goodball', 'Lineout Errors': 'Lost'},
     {'area': 'A1', 'key': 'Lineouts', 'possession': 'for', 'second': 354, 'endSecond': 358, 'time': 
      '2020-03-14T12:56:43', 'Lineout Errors': 'Lost'}]}},
     {'_id': 'HJSvMON2020031419A', 'stats': 
     {'data': 
     [{'area': 'C1', 'key': 'Kick Off', 'possession': 'against', 'second': 0, 'endSecond': 6, 'time': 
     '2020-03-14T12:00:06', 'Kick Off Fielded': 'Unsuccessful'},
     {'key': 'Passive Tackle', 'possession': 'against', 'second': 9, 'time': '2020-03-14T12:00:09', 
     'value': 9, 'subMetric': 3, 'rtp': []}, 
     {'area': 'D1', 'key': 'Rucks', 'possession': 'against', 'second': 9, 'endSecond': 19, 'time': '2020- 
      03-14T12:00:19'}, 
     {'area': 'D1', 'key': 'Lineouts', 'possession': 'for', 'second': 33, 'endSecond': 45, 'time': '2020- 
     03-14T12:00:45', 'Lineout Formations': '5 Man', 'Lineout Area Of Throw': 'Front', 'Lineout 
     Contested': 'Contested', 'Lineout Presentation': 'Scrappy', 'Lineout Errors': 'Lost', 'Maul Meters': 
     '5'}, 
     {'key': 'Neutral Tackle', 'possession': 'for', 'second': 45, 'time': '2020-03-14T12:00:45', 'value': 
     1, 'subMetric': 2, 'rtp': [{'key': 'Defender in Position', 'possession': 'for', 'second': 49, 
    'time': '2020-03-14T12:00:49', 'value': 1, 'subMetric': None}]},
     {'area': 'D1', 'key': 'Rucks', 'possession': 'for', 'second': 47, 'endSecond': 50, 'time': '2020-03- 
     14T12:00:50'}, 
     {'key': 'Defender in Position', 'possession': 'for', 'second': 49, 'time': '2020-03-14T12:00:49', 
     'value': 1, 'subMetric': None, 'rtp': []}, 
     {'key': 'Passive Tackle', 'possession': 'for', 'second': 51, 'time': '2020-03-14T12:00:51', 'value':       
     7, 'subMetric': 3, 'rtp': [{'key': 'Defender in Position', 'possession': 'for', 'second': 53, 
     'time': '2020-03-14T12:00:53', 'value': 7, 'subMetric': None}]}, 
     {'key': 'Tackle Assist', 'possession': 'for', 'second': 52, 'time': '2020-03-14T12:00:52', 'value': 
     8, 'subMetric': None, 'rtp': [{'key': 'Defender in Position', 'possession': 'for', 'second': 53, 
     'time': '2020-03-14T12:00:53', 'value': 8, 'subMetric': None}]}, 
     {'key': 'Defender in Position', 'possession': 'for', 'second': 53, 'time': '2020-03-14T12:00:53', 
     'value': 8, 'subMetric': None, 'rtp': []}]}}]

我需要编写一个函数,在其中计算每场比赛赢得的 Lineouts 并保存游戏名称 (_id) 以及每场比赛 Goodball、Scrappy 和 Drive lineouts 的数量。

 Lineouts = []
    Games = []
    def Our_Lineouts_Won():
            global Lineouts
            Lineouts = (0)
            
            for l in my_stats:
                t=(l['stats']['data'])
                print(l['_id'])
                Games.append(str(l['_id']))
                
                for i in t:
                     
                     try:
                         if ((i['key']) == 'Lineouts' and (i['possession'])== 'for'and ((i[('Lineout 
                         Presentation')])==  'Off the Top'  or 'Scrappy' or  'Drive'  )):
                                       
                            Lineouts += 1 
                            
                     except KeyError:
                        pass  
        
    Our_Lineouts_Won()

我想要的结果是一个字典,其中键是 _id,值是计算的 Our_Lineouts_won()。

我尝试将 Lineouts 附加到列表中。

请协助。

1 个回复

这是我如何设法回答我的问题。 我创建了一个字典 lpg ......每场比赛线路的缩写。 然后我将所有 _id 附加到列表游戏中。

之后,我使用 try 和 except 来阻止代码在没有捕获 Lineout 演示的情况下被破坏。

每场比赛都会添加符合标准的每个阵容并保存在变量 L1 下。

然后我更新了我的空字典

lpg.update({游戏:L1})

如您所见,我使用 df = pd.DataFrame(list (lpg.items())) 从字典中创建了数据框。

Lineouts = []
Games = []
lpg = {}
def Our_Lineouts_Won():
        global Lineouts
        global lpg
        Lineouts = (0)
        lpg = {}
        for l in my_stats:
            t=(l['stats']['data'])
            games = (l['_id'])
            Games.append(str(l['_id']))
            #print (games)
            
            for i in t:
                 
                 try:
                     if ((i['key']) == 'Lineouts' and (i['possession'])== 'for'and ((i[('Lineout Presentation')])==  'Off the Top'  or 'Scrappy' or  'Drive'  )):
            #if ((i['key']) == 'Lineouts' and (i['possession'])== 'for'and ((i[('Lineout Presentation')])==  'Off the Top'  or (i[('Lineout Presentation')])==  'Scrappy' or (i[('Lineout Presentation')])==  'Drive'  )):
                        
                         Lineouts += 1
                        
                 except KeyError:
                    pass  
            
            L1=(str(Lineouts))
            
            lpg.update({games:L1})
            
            
            
        
            
            Lineouts = (0)
               
            
            
        #print (lpg)   
             
       
Our_Lineouts_Won()
1 用python计算函数中的值

我有以下功能 这很好。 但我想再做一件事。 VALUES列包含零和大于零的值。 如何计算评估sum()时使用的所有大于零的值? 函数get_NE返回一个列表。 我尝试了下面的代码,但是没有用。 函数get_NE是一个返回列表的函数。 例如[5、6、8、12]。 这些 ...

4 使用try,但在Python中的函数内部除外

使用try,但以下代码中的函数内部除外,可以产生正确的结果。 我得到以下结果: 虽然如果我将代码更改为以下内容,则不会得到结果: 这是我得到的: 我不知道为什么我没有得到值200,第一种或第二种哪种方法更好? 谢谢。 ...

5 创建一个函数以列出对象中的值数组

这是一项任务。 请不要投反对票。 每个人都必须从某个地方开始,每个人都学到不同的东西。 我需要创建一个函数来构建仅由任何给定的简单对象中的值组成的数组:例如:// headache {abd:123,def:345,ghi:756}应该产生数组汁[123,345,756 ]。 如 ...

6 Python 3函数 - 列出其他函数的值

我正在研究一个非常简单的基于文本的冒险游戏。 我已经能够做到玩家可以从一个房间移动到另一个房间的基础知识。 为了增强游戏,我想要一个简单的战斗系统但是我在实施一个能保持玩家健康得分的系统时遇到了麻烦。 我提供了代码目前的样本并添加了注释。 我刚刚开始掌握函数,并想知道是否可以将up ...

7 列出 Python 模块本身中的函数

有没有办法列出我所在模块中的所有功能? 我的意思不是从导入的模块中列出函数,也不是在类中列出方法。 我想要的是从一个函数中列出同一模块上的所有其他函数,即识别所有兄弟函数。 ...

8 在python中绘制列出的值

嗨专家我写了一个简单的python脚本来访问值列表并在for循环中进行一些计算,而绘图(x,y)它没有给出情节。我的程序在下面给出。我希望一些专家能提供帮助我正在纠正问题。提前致谢。 ...

9 在python中列出文件并保存

我无法保存此输出,也许有人可以解决。 我列出了目录和一些单打文件。 但是,当我保存输出时,只捕获目录文件,而不是单打文件。 我的代码: 我在控制台中看到了所有文件和目录,但是在保存的列表中只有ssh文件。 为什么也没有保存系统日志和主机? 谢谢 !! ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM