我有一个defaultdict看起来像。。。你知道吗
defaultdict(int,
{" u'CAMILLE'": 10,
" u'SAHARA'": 1,
" u'JEREMIAH'": 114,
" u'EDISON'": 9,
...}
我需要像。。。你知道吗
[[u'CAMILLE', 10],
[u'SAHARA', 1],
[u'JEREMIAH',114],
[u'EDISON', 9],
...]
两者
firstnames = [lambda x,y:list(x,y) for k,v in firstnames.items()]
以及
firstnames = [lambda x,y:[x,y] for k,v in firstnames.items()]
生产
[<function __main__.<lambda>>,
<function __main__.<lambda>>,
<function __main__.<lambda>>,
<function __main__.<lambda>>,
...]
这显然不是我想要的。如何更正此代码?你知道吗
不需要使用
lambda
s:甚至更短:
lambda
创建一个匿名函数。这意味着您已经生成了一个函数列表,其中包含两个参数作为输入(这里是x
和y
),并返回一个列表[x,y]
。在您的方法中甚至没有考虑k
和v
。你知道吗使用map也可以:
请注意,在python3中,这将构建一个生成器(因此,正如Willem comment所说,最好在map调用周围使用
list()
,以便在调用时获取值)。你知道吗相关问题 更多 >
编程相关推荐