回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我刚刚开始学习python,我正在尝试一些代码,我想问为什么下面两个代码的功能不同</p>
<p><strong>第一个代码示例:</strong></p>
<pre><code>def combine_lists(list1, list2):
new_list = list2
index = len(list2)
for items in list1:
new_list.insert(index, items)
return(new_list)
Jamies_list = ["Alice", "Cindy", "Bobby", "Jan", "Peter"]
Drews_list = ["Mike", "Carol", "Greg", "Marcia"]
print(combine_lists(Jamies_list, Drews_list))
</code></pre>
<p>第一个代码的输出是正确的(我希望列表1颠倒):</p>
<blockquote>
<p>['Mike', 'Carol', 'Greg', 'Marcia', 'Peter', 'Jan', 'Bobby', 'Cindy', 'Alice']</p>
</blockquote>
<p><strong>第二个代码示例:</strong></p>
<pre><code>def combine_lists(list1, list2):
new_list = list2
for items in list1:
new_list.insert(len(list2), items)
return(new_list)
Jamies_list = ["Alice", "Cindy", "Bobby", "Jan", "Peter"]
Drews_list = ["Mike", "Carol", "Greg", "Marcia"]
print(combine_lists(Jamies_list, Drews_list))
</code></pre>
<p>但第二个代码输出:</p>
<blockquote>
<p>['Mike', 'Carol', 'Greg', 'Marcia', 'Alice', 'Cindy', 'Bobby', 'Jan', 'Peter']</p>
</blockquote>
<p>为什么仅仅通过将len(list2)分配给一个变量并将其用于索引插入,这两个输出之间会有差异</p>
<p>谢谢</p>