我正在尝试对字典上的 values() 函数返回的 dict_values 对象使用 map()。但是,我似乎无法通过 dict_values 进行 map():
map(print, h.values())
Out[31]: <builtins.map at 0x1ce1290>
我相信有一种简单的方法可以做到这一点。我实际上想做的是在 Counters 字典中创建所有 Counter 键的 set(),做这样的事情:
# counters is a dict with Counters as values
whole_set = set()
map(lambda x: whole_set.update(set(x)), counters.values())
在 Python 中有更好的方法吗?
最佳答案
在 Python 3 中,map 返回一个迭代器,而不是一个列表。您仍然需要对其进行迭代,方法是显式调用 list 或将其放入 for 循环中。但是你不应该以这种方式使用 map。 map 实际上用于将返回值收集到可迭代对象或序列中。由于 print 和 set.update 都不返回值,因此在这种情况下使用 map 不是惯用的。
您的目标是将 counters 中所有计数器中的所有键放入一个集合中。一种方法是使用嵌套生成器表达式:
s = set(key for counter in counters.values() for key in counter)
还有可爱的字典理解语法,它在 Python 2.7 及更高版本中可用(感谢 Lattyware!)并且可以生成集合和字典:
s = {key for counter in counters.values() for key in counter}
这些都大致等同于以下内容:
s = set()
for counter in counters.values():
for key in counter:
s.add(key)
关于Python map() 字典值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10692482/
前言一般来说,前端根据后台返回code码展示对应内容只需要在前台判断code值展示对应的内容即可,但要是匹配的code码比较多或者多个页面用到时,为了便于后期维护,后台就会使用字典表让前端匹配,下面我将在微信小程序中通过wxs的方法实现这个操作。为什么要使用wxs?{{method(a,b)}}可以看到,上述代码是一个调用方法传值的操作,在vue中很常见,多用于数据之间的转换,但由于微信小程序诸多限制的原因,你并不能优雅的这样操作,可能有人会说,为什么不用if判断实现呢?但是if判断的局限性在于如果存在数据量过大时,大量重复性操作和if判断会让你的代码显得异常冗余。wxswxs相当于是一个独立
我正在处理一些作为Ruby哈希字符串返回的命令输出。(来自名为mcollective的东西)。这是我收到的示例字符串:{:changes=>{"total"=>0},:events=>{"failure"=>0,"success"=>0,"total"=>0},:version=>{"puppet"=>"2.7.21(PuppetEnterprise2.8.1)","config"=>1381497648},:time=>{"filebucket"=>0.000287,"cron"=>0.00212,"package"=>0.398982,"exec"=>0.001314,"confi
我有一个包含50K到100K字符串的字典(最多可以包含50个以上的字符),我正在尝试查找给定字符串是否在具有“编辑”距离公差的字典中。(例如Levenshtein)。在进行搜索之前,我可以预先计算任何类型的数据结构。我的目标是尽快针对该字典运行数千个字符串并返回最近的邻居。如果有一个明显更快的算法,我会得到一个bool值来说明给定的是否在字典中为此,我首先尝试计算所有Levenshtein距离并取最小值,这显然非常慢。所以我尝试根据这篇文章实现一个LevenshteinTriehttp://stevehanov.ca/blog/index.php?id=114在这里查看我的重现基准的要
字典基本上只是一个哈希表吗?还有一个好处:在Ruby代码“Hash.new{0}”中,末尾的“{0}”是什么意思? 最佳答案 table、dictionary和map这三个词通常作为同义词使用(在数据结构的上下文中)。哈希表/HashMap是一种表/字典/图。{0}是一个忽略其参数并返回数字0的block(匿名函数)。调用提供给Hash.new的block以生成一个在HashMap中找不到键时的默认值。即如果我执行h=Hash.new{0}然后h["keythatdoesnotexist"],我返回0,而不是nil(如果没有{0},
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion有谁知道一个好的字典API或ruby库来查找单词的定义?我认为它应该像这样工作:我调用get_definition(word)它返回该词的定义(最好以某种方式轻松格式化显示的定义。谢谢
我有一个JSON对象,它由一长串其他JSON对象组成,这些对象具有一些共同的属性,例如:varmyData={"0291":{"Firstname":"Jeremy","Surname":"Dyson"},"0398":{"Firstnname":"Billy","Surname":"Bunter"},"6714":{"Firstnname":"Harry","Surname":"Peterson"},"9080":{"Firstnname":"Barry","secondname":"Joe","Surname":"Mainwaring"}......}我已经构建了一个html模板。
Python的字典get方法允许我指定在键不存在时应返回的内容。对于我目前的情况,我想要返回一本字典。我如何在Javascript中执行此操作? 最佳答案 没有与python字典get方法等效的javascript。如果你自己写,作为一个函数,它看起来像这样:functionget(object,key,default_value){varresult=object[key];return(typeofresult!=="undefined")?result:default_value;}像这样使用它:varobj={"a":1};
我正在尝试解析OpenExchangeRatesJSON在Json中,我正在使用这种方法:HttpWebRequestwebRequest=GetWebRequest("http://openexchangerates.org/latest.json");HttpWebResponseresponse=(HttpWebResponse)webRequest.GetResponse();stringjsonResponse=string.Empty;using(StreamReadersr=newStreamReader(response.GetResponseStream())){js
我有一个这样的字符串,它是从数据库中检索到的。我需要将字符串转换为Javascript字典。"['content':{'type':'file','path':'callie/circle'},'video':{'videoId':'CvIr-2lMLsk','startSeconds':15,'endSeconds':30'}]".如何将上述字符串转换为Javascript字典?我应该先将字符串转换为json吗?当我尝试json.parse时,显示错误:UncaughtSyntaxError:Unexpectedtoken'atObject.parse(native)at:2:6at
请引用MVC中的此链接:http://aspnetwebstack.codeplex.com/discussions/351011我在模型绑定(bind)方面遇到了问题。我从JavaScript向名为“/api/products”的API端点发出GETAjax请求,传入一些参数,包括分页和排序作为查询参数。这是完整的URI:http://localhost/api/products?page=1&count=10&filter[name]=Test1&filter[price]=10&sorting[name]=desc在服务器端,我有一个WebAPIController从URI接受这