回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>刚刚复习了一下Python类,发现我忘了怎么做。在</p>
<pre><code>def outsideIn2(lst):
'''(list)->list
Returns a new list where the middle two elements have been
removed and placed at the beginning of the result. Assume all lists are an even
length
>>> outsideIn2(['C','a','r','t','o','n'])
['r','t','C','a','o','n'] # rt moves to front
>>> outsideIn2(['H','i'])
['H','i'] # Hi moves to front so output remains the same.
>>> outsideIn2(['B','a','r','b','a','r','a',' ','A','n','n','e'])
['r','a','B','a','r','b,','a',' ','A','n','n','e'] # ra moves to front.
'''
length = len(lst)
middle1 = lst.pop((len(lst) / 2) - 1)
middle2 = lst.pop((len(lst) / 2) + 1)
lst.insert([0], middle1)
lst.insert([1], middle2)
return lst
</code></pre>
<p>我得到了这个错误:</p>
<blockquote>
<p>middle1 = lst.pop((len(lst) / 2) - 1)</p>
<p>TypeError: integer argument expected, got float</p>
</blockquote>
<p>我做错什么了?在</p>