从字典到lis的功能转换

2024-04-25 12:13:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一种功能性的方法来执行以下操作:

lst = []
for k, v in dict.iteritems():
    lst.append(my_class(k, v))
return lst

类似于

imap(lambda (k,v): my_class(k, v), [...] dict [...]) 

会很理想,但显然不起作用。你知道吗

我怎么能做到?你知道吗


Tags: 方法lambdainforreturnmydictclass
3条回答

假设d是dict,f是可调用的,并且给定^{}函数,可以编写第二个代码:

from itertools import starmap
starmap(f, d.iteritems())

或者匹配你的代码:starmap(my_class, dict.iteritems())

要真正回答你的问题,功能性的方法是:

return list(starmap(my_class, dict.iteritems))

我会使用列表理解语法

list = [ my_class(k,v) for k, v in dict.iteritems() ]

也可以使用发电机。你知道吗

 gen = (my_class(k,v) for k, v in dict.iteritems())

在迭代之前,生成器不会创建/运行函数myu类(k,v)。你知道吗

from itertools import starmap    
starmap(myclass, thedict.iteritems())

以上这些应该是有效的。你知道吗

相关问题 更多 >

    热门问题