我在Python中发现了一些我无法解释的奇怪行为。我写了以下功能:替换输入变量的Python函数
def process_data(data_in, unique_recs_in):
recs = unique_recs_in
for x, dat in enumerate(recs):
recs[x].append(data_in.count(dat))
return recs
其中data_in和unique_recs_in是列表的列表。 'data_in'计数表示受体,每次在每个受体中都存储一个列表,失败的标记。 'Unique_recs_in'是所有唯一受体位置的列表。
我无法弄清楚的是,当我调用这个函数时,我的输出'recs'会正确返回。但是,当我运行该函数时,'unique_recs_in'发生了变化,并且与'recs'相同。我有错误测试了代码,并且可以确认它发生在这个函数中。有人有主意吗?
编辑:下面
样品输入DATA_IN
[['631507.40000', '4833767.20000', '60.00'], ['631507.40000', '4833767.20000', '63.00'], ['631507.40000', '4833767.20000', '66.00']]
unique_recs_in:
[['631552.90000', '4833781.00000', '24.00'], ['631569.50000', '4833798.80000', '48.00'], ['631589.20000', '4833745.50000', '12.00']]
你能给一些示例输入/输出这说明什么问题? – wnnmaw