【发布时间】:2016-10-18 09:29:44
【问题描述】:
我现在正在尝试解决一个听起来像这样的任务:
''编写一个函数 modi(la, lb),它接受输入 2 列表 la 和 lb,其中包含相同数量的元素。该函数应该修改列出两个列表中具有相同索引的 la 和 lb 露营元素,并删除一个更大的元素,如果元素相等,则删除它们。 ''
例如:
- la = ['熊', '老虎', '狼', '鲸', '大象']
- lb = ['swan', 'cat', 'dog', 'duck', 'rabbit']
所以函数应该返回: ['熊','大象'] ['猫','狗','鸭子']
我已经编写了下一个代码,但它不会修改列表而是创建新列表并添加元素。一些想法我该怎么做?
def confront(s1, s2):
if s1 < s2: # condition that tells which element to choose later
return 0
elif s2 < s1:
return 1
else:
return 2
def modi(la,lb):
latemp = []
lbtemp = []
i = 0
while i < len(la):
q = confront(la[i], lb[i])
if q == 0:
latemp.append(la[i])
elif q == 1:
lbtemp.append(lb[i])
i +=1
la = latemp
lb = lbtemp
return la, lb
我尝试过 remove(),但它造成了很大的混乱
【问题讨论】:
-
不应该是
[]和['cat','dog','duck','rabbit']吗?
标签: python list python-3.x