首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从join中构造字典?

如何从join中构造字典?
EN

Stack Overflow用户
提问于 2017-10-25 03:25:09
回答 2查看 38关注 0票数 0

我正在尝试为下面的元组列表构建一个字典:

代码语言:javascript
复制
lst=[('ldb', 25), ('baseB', 4), ('code', 112), 
     ('cache-6', 55), ('Xauthority', 1), ('baseA', 4), 
     ('npmrc', 1), ('apmrc', 1),('gz', 190), 
     ('dbf', 1), ('lst', 2), ('markdown', 10), 
     ('sqlite-shm', 2), ('vsixmanifest', 4), ('ttf', 109), 
     ('pkl', 35), ('gitignore', 8), ('xml', 46)]

通过像这样使用join:

代码语言:javascript
复制
op= {','.join( '\'%s\':%d'%i for i in lst)}

但是输出op的类型将是set,如下所示!!

代码语言:javascript
复制
set(["'ldb':25,'baseB':4,'code':112,'cache-6':55, 'Xauthority':1,'baseA':4,'npmrc':1,'apmrc':1,
'gz':190,'dbf':1,'lst':2,'markdown':10,'sqlite-shm':2,'vsixmanifest':4,'ttf':109,'pkl':35,'gitignore':8,'xml':46"])

有人纠正我说我提前感谢了dictionary而不是set

EN

回答 2

Stack Overflow用户

发布于 2017-10-25 03:27:36

当前,您正在创建一个集合,而不是一个字典。试试这个:

代码语言:javascript
复制
lst=[('ldb', 25), ('baseB', 4), ('code', 112), ('cache-6', 55), ('Xauthority', 1), ('baseA', 4), ('npmrc', 1), ('apmrc', 1), ('gz', 190), ('dbf', 1), ('lst', 2), ('markdown', 10), ('sqlite-shm', 2), ('vsixmanifest', 4), ('ttf', 109), ('pkl', 35), ('gitignore', 8), ('xml', 46)]

new_data = {a:b for a, b in lst}

或者,更好的是:

代码语言:javascript
复制
new_data = dict(lst)
票数 0
EN

Stack Overflow用户

发布于 2017-10-25 03:32:37

试试看:

代码语言:javascript
复制
lst = [('ldb', 25), ('baseB', 4), ('code', 112), ('cache-6', 55), ('Xauthority', 1), ('baseA', 4), ('npmrc', 1),
   ('apmrc', 1), ('gz', 190), ('dbf', 1), ('lst', 2), ('markdown', 10), ('sqlite-shm', 2), ('vsixmanifest', 4),
   ('ttf', 109), ('pkl', 35), ('gitignore', 8), ('xml', 46)]

d = dict()
for i in lst:
    d[i[0]] = i[1]
print(d)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46918497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档