作者timTan (用口头禅区分年记)
看板Python
标题Re: [问题] 如何将dict的values取set
时间Tue Feb 21 01:27:02 2012
※ 引述《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