我需要编写一个函数来剪切作为参数传递的列表中的前2项并进行更改。 不返回修改后的列表
所以如果打电话:
fruits = ['apple','orange','grape','banana']
print fruits # prints ['apple','orange','grape','banana']
f1(fruits)
print fruits # prints ['grape','banana']
我试过了:
def f1(a):
a[:] = a[2:] # throws TypeError: 'str' object does not support item assignment
def f1(a):
a = a[2:] # doesn't change the value of fruits
f1(*a)
似乎都不起作用。我搜索了StackOverflow,但似乎无法找到答案。
请不要告诉我从a
返回f1
的值。
答案 0 :(得分:3)
切片运算符([x:y]
)创建另一个列表,您需要做的是删除列表中已有的元素,如下所示:
def f1(a):
del a[0:2]
答案 1 :(得分:1)
尝试以下功能!你必须改变a
本身,而不是创建另一个列表。
def f(a):
del a[0]
del a[0]
答案 2 :(得分:1)
您可以使用列表中的pop
方法更改输入列表:
def f(a):
a.pop(0)
a.pop(0)