草庐IT

test_dict

全部标签

python - 使 py.test、coverage 和 tox 一起工作 : __init__. py 在测试文件夹中?

我在使用tox时遇到了一个奇怪的问题,py.test,coverage和pytest-cov:当py.test与--cov选项从tox启动,似乎需要__init__.pytests中的文件不是很明显的文件夹。在写这篇文章时,我通​​过添加上述tests/__init__.py解决了最初的问题,但到现在我还不完全明白为什么它会起作用或不起作用,所以我仍然在寻求帮助。详情请看下文。我在SO上找到了一个相关问题,但这只会让人更加困惑,因为答案似乎与我目前所想出的相反:`py.test`and`__init__.py`files另请参阅此处的官方文档:py.test-GoodIntegrati

python - 访问 Python dict 的时间复杂度

我正在编写一个简单的Python程序。我的程序似乎受到字典线性访问的影响,尽管算法是二次方的,但它的运行时间呈指数增长。我使用字典来内存值。这似乎是一个瓶颈。我正在散列的值是点的元组。每个点为:(x,y),0字典中的每个键是:2-5个点的元组:((x1,y1),(x2,y2),(x3,y3),(x4,y4))读取key的次数比写入次数多很多倍。我是否正确地认为pythondicts会受到此类输入的线性访问时间的影响?据我所知,集合保证了对数访问时间。如何在Python中使用集合(或类似的东西)模拟dicts?edit根据要求,这里有一个(简化)版本的内存功能:defmemoize(fu

python - 访问 Python dict 的时间复杂度

我正在编写一个简单的Python程序。我的程序似乎受到字典线性访问的影响,尽管算法是二次方的,但它的运行时间呈指数增长。我使用字典来内存值。这似乎是一个瓶颈。我正在散列的值是点的元组。每个点为:(x,y),0字典中的每个键是:2-5个点的元组:((x1,y1),(x2,y2),(x3,y3),(x4,y4))读取key的次数比写入次数多很多倍。我是否正确地认为pythondicts会受到此类输入的线性访问时间的影响?据我所知,集合保证了对数访问时间。如何在Python中使用集合(或类似的东西)模拟dicts?edit根据要求,这里有一个(简化)版本的内存功能:defmemoize(fu

Python 文档测试 : test for None

使用Python2.7我正在尝试测试特定函数调用的结果是否为无我希望这些测试能够通过(请原谅这个相当愚蠢的例子)defsix_or_none(val):""">>>six_or_none(6)6>>>six_or_none(4)None"""ifval==6:return6returnNone但是它们会产生以下结果Failedexample:six_or_none(4)Expected:NoneGotnothing在doctests中测试None的正确方法是什么? 最佳答案 Python解释器ignoresNone返回值,所以doc

Python 文档测试 : test for None

使用Python2.7我正在尝试测试特定函数调用的结果是否为无我希望这些测试能够通过(请原谅这个相当愚蠢的例子)defsix_or_none(val):""">>>six_or_none(6)6>>>six_or_none(4)None"""ifval==6:return6returnNone但是它们会产生以下结果Failedexample:six_or_none(4)Expected:NoneGotnothing在doctests中测试None的正确方法是什么? 最佳答案 Python解释器ignoresNone返回值,所以doc

python - 将列表输入到 TensorFlow 中的 feed_dict 的问题

我正在尝试将一个列表传递给feed_dict,但是我在这样做时遇到了麻烦。说我有:inputs=10*[tf.placeholder(tf.float32,shape=(batch_size,input_size))]输入被输入到我想要计算的一些函数outputs中。因此,为了在tensorflow中运行它,我创建了一个session并运行以下命令:sess.run(outputs,feed_dict={inputs:data})#dataismylistofinputs,whichisalsooflength10但我得到一个错误,TypeError:unhashabletype:'l

python - 将列表输入到 TensorFlow 中的 feed_dict 的问题

我正在尝试将一个列表传递给feed_dict,但是我在这样做时遇到了麻烦。说我有:inputs=10*[tf.placeholder(tf.float32,shape=(batch_size,input_size))]输入被输入到我想要计算的一些函数outputs中。因此,为了在tensorflow中运行它,我创建了一个session并运行以下命令:sess.run(outputs,feed_dict={inputs:data})#dataismylistofinputs,whichisalsooflength10但我得到一个错误,TypeError:unhashabletype:'l

python - 在 python 类上覆盖 __dict__()

我有一个类,我想将对象作为字典取回,所以我在__dict__()中实现了这个。这是正确的吗?我想一旦我这样做了,我就可以使用dict(自定义对象),并将对象作为字典取回,但这不起作用。你应该重写__dict__()吗?如何使用dict()将自定义对象转换为字典? 最佳答案 __dict__不是Python对象的特殊方法。用于属性字典;dict()从不使用它。相反,您可以支持迭代;当dict()被传递一个iterable生成键值对,生成一个包含这些键值对的新字典对象。您可以通过实现__iter__方法来提供可迭代对象,该方法应返回it

python - 在 python 类上覆盖 __dict__()

我有一个类,我想将对象作为字典取回,所以我在__dict__()中实现了这个。这是正确的吗?我想一旦我这样做了,我就可以使用dict(自定义对象),并将对象作为字典取回,但这不起作用。你应该重写__dict__()吗?如何使用dict()将自定义对象转换为字典? 最佳答案 __dict__不是Python对象的特殊方法。用于属性字典;dict()从不使用它。相反,您可以支持迭代;当dict()被传递一个iterable生成键值对,生成一个包含这些键值对的新字典对象。您可以通过实现__iter__方法来提供可迭代对象,该方法应返回it

python - 按键值的顺序绘制 python dict

我有一个看起来像这样的python字典:In[1]:dict_concentrationOut[2]:{0:0.19849878712984576,5000:0.093917341754771386,10000:0.075060643507712022,20000:0.06673074282575861,30000:0.057119318961966224,50000:0.046134834546203485,100000:0.032495766396631424,200000:0.018536317451599615,500000:0.0059499290585381479}它们的键