Re: [問題] 如何將dict的values取set

看板Python作者 (用口頭禪區分年記)時間13年前 (2012/02/21 01:27), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串8/8 (看更多)
※ 引述《kadodo (想辦法突破)》之銘言: : 再請教一下 如果我寫法並沒有先print出來 而是直接先存到var_a, 之後再印出來: : s=map(lambda x : set(x), target.values()) : var_a = reduce(lambda x,y: x.intersection(y), s) : print(var_a) map, reduce, filter 的結果,全部都先加上 list吧。 e.g. var_a = list(reduce(lambda x,y: x.intersection(y), s)) print(var_a) : 這樣好像也是會有 TypeError : 所以我不曉得我應該怎樣才可以用一個變數把它存起來 : 謝謝 : ※ 引述《mikapauli (cablin)》之銘言: : : 為此特地去下載3.2.2後我大概知道問題在那了.. : : 你的寫法應該是 : : s=map(lambda x : set(x), target.values()) : : print(reduce(lambda x,y: x.intersection(y), s)) : : var_a = reduce(lambda x,y: x.intersection(y), s) : : 在python3中map的return是iterator : : iterator介面的特點是"只能用一次" : : 因此當你在第一個reduce用盡了s後 : : 對第二個reduce而言s已經是空的iterator : : 所以會出現Error -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.8.191
文章代碼(AID): #1FGe9eff (Python)
文章代碼(AID): #1FGe9eff (Python)