Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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
Python 3.x 函数影响原始列表_Python 3.x - Fatal编程技术网

Python 3.x 函数影响原始列表

Python 3.x 函数影响原始列表,python-3.x,Python 3.x,我正在通过向一些排序算法传递字符串列表来测试它们。结构如下: def test(test_case): ans = sorted(test_case) for f in functs: assert f(test_case) == ans 然而,我发现test\u案例一直在变化(我只调用了一次test())。有一段时间我通过了[“Test”,“String']到Test(),我把print()放在f中捕捉输入。我发现f接收到[(“Test”,“String”),

我正在通过向一些排序算法传递字符串列表来测试它们。结构如下:

def test(test_case):
    ans = sorted(test_case)
    for f in functs:
        assert f(test_case) == ans

然而,我发现
test\u案例
一直在变化(我只调用了一次
test()
)。有一段时间我通过了
[“Test”,“String']
Test()
,我把
print()
放在
f
中捕捉输入。我发现
f
接收到
[(“Test”,“String”),(“Test”,“String”),(“Test”,“String”),(“Test”,“String”),(“Test”,“String”),(“Test”,“String”),(“Test”,“String”),…])
。我可以知道发生这种情况的原因以及解决方法吗?

排序
不会影响原始列表(即,它不会对列表进行适当排序),但如果您在交互式解释器上执行代码,将打印
排序
的输出。
因此,您看到的是排序的列表,后面是原始列表

['a', 'day', 'for', 'have', 'nice', 'reading', 'thanks']
['thanks', 'for', 'reading', 'have', 'a', 'nice', 'day']

谢谢我发现简化的一个有误导性,并且与我的主要问题有联系。我自己找到了答案——函数将修改传入的列表。