我应该删除info
中找到的任何平均值,并将它们附加到第二个参数house
中。必须返回对收到任何平均值的列表的引用。如果没有给出第二个参数,则应创建并返回所有重新定位的evens的列表。
到目前为止,这是我的代码。
def relocate_even(info,house):
house=[]
new_list=[]
for x in info:
if x%2==0:
info.remove(x)
if len(house)>0:
house.append(x)
return house
if len(house)<=0:
new_list.append(x)
return new_list
我在房屋功能空的时候遇到了麻烦。我为此编写了代码,但它给了我一个错误。
答案 0 :(得分:0)
在迭代迭代时不要修改迭代。也就是说,不要在info
块中更改for x in info:
。而是创建一个新列表,然后设置等于它的信息。您可以为参数指定一个默认值,这允许调用不显式设置该值。
def relocate_even(info, house=None):
new_house = []
new_info = []
for x in info:
if x%2:
new_info.append(x)
else:
new_house.append(x)
info[:] = new_info
if house is None:
return new_house
else:
house[:] = house + new_house
return house