如何保留set()的值?

时间:2017-09-01 22:50:35

标签: python python-2.7 set

current_values=set(["guy","guy1", "guy3"])

def remove_stale_values(previous_values, current_values):
    todelete = previous_values - current_values
    previous_values.clear()
    for elements in current_values:
        previous_values.add(elements)

    for value in todelete:
       #do something
       print "done"

def m(previous_values, current_values):
    remove_stale_values(previous_values, current_values)

m(set(), current_values)

编写此函数将current_values存储到previous_values中,这样当第二次运行此func时,我希望得到先前值和当前值之间的差异。但每次运行此函数时,previous_values都会设置为[]。

基本上我想保存previous_values,当我第二次运行这个函数时,我得到两个值的差异。

 todelete = previous_values - current_values

1 个答案:

答案 0 :(得分:0)

您需要使用变量来保存previous_values,因此可以重复使用更新后的值。

previous_values = set()
m(previous_values, current_values)
# do stuff
m(previous_values, current_values)