昨天工作,突然发现之前好好的list,在赋值给新变量后居然类型变了,一个好好的list几分钟不见妥妥的叛变了,变成了tuple,由此,一场闹剧开始上演…
话说有一个类对象内有一方法如下:
def call_frequency(self, data):
...
return list
返回的是一个list,内部是一个个dict,结构如下:
[{xx:xxx,xx:xxx},{xx:xxx,},{x:xxx},...]
ok,开始今天任务,开始在另一方法中调用赋值:
data_list = self.call_frequency(data)
结果print data_list
,返回值如下:
([{xx:xxx,xx:xxx},{xx:xxx,},{x:xxx},...],)
what a fxxk,瞬间,凌乱了,还以为发现新天地了,啊!原来,list赋值后会变成tuple,加个马甲,以前怎么没发现呢…
还自以为是的在调用data_list
时,如下:
call_tel_list = [v.get("call_tel","") for v in data_list[0]]
晚上,回家,比较得意,欸,又学到一招,不错哟,积蓄,努力。
8小时后,天亮了:
data_list = self.call_frequency(data),
咦,这里怎么有个逗号?
瞬间,懵逼…
四下瞅瞅,
然后,按下←,整个世界清静了,再悄悄把昨天的杰作恢复本来面目,
嗯,今天,天气真好。
真的!
完
作者:Chihwei_hsu
来源:http://chihweihsu.com
Github:https://github.com/HsuChihwei