Python中文
首页
教程
问答
标签
搜索
登录
注册
获取嵌套字典中所有secondorder键的列表
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想从我的字典里收到所有二阶键的列表。在</p> <pre><code>myDict = { u'A': {'1998': u'ATLANTA'}, u'B': {'1999': u'MANNHEIM'}, u'C': {'2000': u'BERLIN'}, u'D': {'1998': u'CHICAGO', '1999': u'PRINCETON'}, u'E': {'2000': u'LOUISIANA'}, u'F': {'1998': u'NEW YORK', '1999': u'NEW YORK'} } </code></pre> <p>我知道</p> ^{pr2}$ <p>其中<code>uniqfy()</code>来自<a href="http://www.peterbe.com/plog/uniqifiers-benchmark" rel="nofollow">http://www.peterbe.com/plog/uniqifiers-benchmark</a>:</p> <pre><code>def uniqfy(seq, idfun=None): if idfun is None: def idfun(x): return x seen = {} result = [] for item in seq: marker = idfun(item) if marker in seen: continue seen[marker] = 1 result.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(item) return result </code></pre> <p>一切都按预期工作(即<code>years</code>是<code>['1998', '2000', '1999']</code>),但是我确信一定有更好/更短的方法来获取嵌套字典的所有键的列表。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你可以使用集合理解:</p> <pre><code>>>>s= {j for i in myDict.values() for j in i} set(['1999', '1998', '2000']) </code></pre> <p>如果您只需要一个list对象,可以使用<code>list()</code>将<code>set</code>转换为list。在</p> ^{pr2}$
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
3 回答
无法使用Django\u mssql\u后端迁移到外部hos
7 回答
无法使用Django&Python3.4连接到MySql
8 回答
无法使用Django+nginx上载媒体文件
7 回答
无法使用Django1.6导入名称模式
3 回答
无法使用Django1.7和mongodb登录管理站点
7 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
5 回答
无法使用Djangockedi验证CBV中的字段
9 回答
无法使用Djangocketditor上载图像(错误400)
2 回答
无法使用Djangocron进行函数调用
6 回答
无法使用Djangofiler djang上载文件
4 回答
无法使用Djangokronos
9 回答
无法使用Djangomssql provid
9 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
8 回答
无法使用Djangomssq迁移Django数据库
9 回答
无法使用Djangonox创建用户
1 回答
无法使用Djangopyodb从Django查询SQL Server
8 回答
无法使用Djangopython3ldap连接到ldap
2 回答
无法使用Djangoredis连接到redis
8 回答
无法使用Django中的FK创建新表
5 回答