擅长:python、mysql、java
<p>既然您试图使用<code>copy.copy</code>,我假设您理解python通过参数的值传递对对象的引用。您只需要保留对排序顺序的引用。你知道吗</p>
<p>脚本</p>
<pre><code>$ cat cows.py
...
order = sorted(cows.items(), key=lambda x: x[1], reverse= True)
order_copy = copy.copy(order)
print(order)
print(greedy_cow_transport(order_copy,capacity))
print(order)
</code></pre>
<p>输出</p>
<pre><code>$ python3 cows.py
[('Jesse', 6), ('Maggie', 5), ('Maybel', 3), ('Callie', 2)]
[['Jesse'], ['Callie', 'Maggie'], ['Maybel']]
[('Jesse', 6), ('Maggie', 5), ('Maybel', 3), ('Callie', 2)]
</code></pre>
<p>注意,如果有嵌套列表,则需要<code>deepcopy</code>。你知道吗</p>