为什么这个函数要修改它之外的变量?

2024-04-26 04:59:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个从列表中删除第二个数据值的函数(简化)。但是,在执行函数时,原始列表似乎被修改了,即使我只是对函数中的变量做了一些操作。你知道吗

print(data_values)

def remove_2(data):
    data.pop(2)
    return data

new_data = remove_2(data_values)
print(data_values) 

>>>['a', 'b', 'c', 'd']
>>> ['a', 'b', 'd']

两次我都打印出原始数据的值,但第二次是修改的版本,即使只修改了函数中的变量。你知道吗


Tags: 数据函数版本列表newdata原始数据return
1条回答
网友
1楼 · 发布于 2024-04-26 04:59:51

pop()函数删除具有给定索引的元素您要做的是从原始列表中删除具有索引2的元素,然后使用另一个列表来显示它

print(data_values) 
def remove_2(data): 
    data.pop(2) 
    return data
new_data=data_values[:]
new_data = remove_2(new_data)
print(data_values)
print(new_data) 

如果不希望更改默认列表,则应使用其他列表

相关问题 更多 >