小编ric*_*rma的帖子

没有测量上下文,此警告的原因是什么

我正在生成 html 格式的覆盖率报告。现在我想看看哪个测试运行了代码,所以添加了这个更改,.coveragerc 文件


    [run]
    dynamic_context = test_function

Run Code Online (Sandbox Code Playgroud)

并在命令中显示上下文标志,覆盖率 html -i --data-file=.coverage1 --show-contexts

运行命令后我看到这个警告,

   /usr/local/lib/python3.8/dist-packages/coverage/html.py:59: CoverageWarning: No contexts were measured
  self.coverage._warn("No contexts were measured")
Run Code Online (Sandbox Code Playgroud)

我看到的报告中,1ctx 是 test_function,但不是正在执行代码的测试。 在此输入图像描述

这个警告是什么意思。如何纠正。我尝试将 .coveragerc 放在测试文件夹、应用程序文件夹和根文件夹中

python coverage.py

5
推荐指数
0
解决办法
239
查看次数

从字典列表中删除重复的键,仅保留值最大的键值

从这样的列表中:

mylist = [{'x':2020 , 'y':20},{'x':2020 , 'y':30},{'x':2021 , 'y':10},{'x':2021 , 'y':5}]
Run Code Online (Sandbox Code Playgroud)

我想保持所有“x”唯一,并且“y”是“x”相同的最大值。

我试图将输出获取为:

mylist_unique =  [{'x':2020 , 'y':30},{'x':2021 , 'y':10}]
Run Code Online (Sandbox Code Playgroud)

我以一种非常天真的方式实现了它:

res =[]
temp = {}
print(len(temp))

for i in range(len(mylist)):
    print(mylist[i])
    for k,v in mylist[i].items():
        print(mylist[i]['x'],temp.keys(),mylist[i]['y'])
        if mylist[i]['x'] not in temp.keys() or mylist[i]['y'] > (temp[mylist[i]['x']]) :
            print(k)
            temp.update({mylist[i]['x']:mylist[i]['y']})

print(temp)
for k,v in temp.items():
    res.append({'x':k,'y':v})
print(res)
Run Code Online (Sandbox Code Playgroud)

python algorithm

3
推荐指数
1
解决办法
4932
查看次数

标签 统计

python ×2

algorithm ×1

coverage.py ×1