昨天工作,突然發現之前好好的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