Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
doctestpython-忽略列表的顺序_Python_Doctest - Fatal编程技术网

doctestpython-忽略列表的顺序

doctestpython-忽略列表的顺序,python,doctest,Python,Doctest,是否有doctest指令在匹配预期列表和返回列表时忽略元素的顺序 此操作当前失败: Expected: ['foo', 'bar'] Got: ['bar', 'foo'] 问题解决了 原来我正在打印列表,所以doctest试图匹配字符串而不是列表 FTR,doctest不匹配列表,忽略元素的顺序。doctest始终匹配字符串输出。如果要忽略列表元素的顺序,建议使用sorted 本节的最后一个示例摘自: doctest对于在预期输出中要求精确匹配是认真的。 如果哪怕只有一个字符不匹配,

是否有doctest指令在匹配预期列表和返回列表时忽略元素的顺序

此操作当前失败:

Expected:
  ['foo', 'bar']
Got:
  ['bar', 'foo']
问题解决了

原来我正在打印列表,所以doctest试图匹配字符串而不是列表


FTR,doctest不匹配列表,忽略元素的顺序。

doctest始终匹配字符串输出。如果要忽略列表元素的顺序,建议使用
sorted

本节的最后一个示例摘自:

doctest对于在预期输出中要求精确匹配是认真的。 如果哪怕只有一个字符不匹配,测试也会失败。这将 可能会让您惊讶几次,因为您确切地了解了Python是什么 是否保证输出。例如,在打印 设置时,Python不保证元素以任何形式打印 特定的顺序,所以像这样的测试

>>>
>>> foo()
{"Hermione", "Harry"}
他很脆弱!一个解决办法是

>>>
>>> foo() == {"Hermione", "Harry"}
True
相反。另一个是做什么

>>>
>>> d = sorted(foo())
>>> d
[‘哈利’、‘赫敏’]


也许您想使用
集合
而不是
列表
列表
是一个有序的数据结构,因此忽略它不利于从一开始就使用这种数据结构。测试到底是什么?嗨@Priyans agrawal,这似乎是一个不正确的“决定”。Doctest匹配字符串输出。请参阅我的答案和doctest文档中的示例。