这是一个实践例子:
编写一个函数
为什么这个函数返回
它适用于以下示例:
但是在这个例子中失败了:
我注意到它仅从列表中删除偶数。以下是代码:
编写一个函数
(list1, list2)
,它接受两个列表作为参数,并返回一个列表,该列表是从 list1
中删除可以在 list2
中找到的元素的结果。为什么这个函数返回
[1, 3, 4]
而不是我想的 [4]
?我认为这与 list1.remove()
有关。我猜这是一些显而易见的东西,但我看不出来。它适用于以下示例:
subtractList (['a', 'b', 'c', 'd'], ['x', 'y', 'z']) =
['a', 'b', 'c', 'd']
subtractList([1,2,3,4,5], [2, 4]) =
[1, 3, 5]
但是在这个例子中失败了:
subtractList(range(5), range(4))
我注意到它仅从列表中删除偶数。以下是代码:
def subtractList(list1,list2):
list1 = list(list1)
list2 = list(list2)
for i in list1:
if i in list2:
list1.remove(i)
return list1
我已经用以下方法解决了这个练习:
def subtractList(list1,list2):
new_list = []
list1 = list(list1)
list2 = list(list2)
for i in list1:
if i not in list2:
new_list.append(i)
return new_list
list1 = list(list1)
)是不必要的。 - thumbtackthief