繁体   English   中英

如何从只有一项的键中删除括号?

[英]How do I remove brackets from keys that have only one item?

我有一本这样的字典:

d = {1: ['a', 'b', 'c'], 2: ['d'], 3: ['e','f'], 4: ['g'], 5: ['h', 'i']}

我想返回一个字典:

d = {1: ['a', 'b', 'c'], 2:'d', 3: ['e', 'f'], 4: 'g', 5: ['h', 'i']}

到目前为止,我有:

for values in d.values():
    if len(values) == 1:
       ?strip []?

您似乎将列表而不是字符串作为dict值处理。 因此,“剥离”将不起作用(即使语法上正确)。 但是,您只需将值设置为list的第一个元素:

for k in d:
    if len(d[k]) == 1:
        d[k] = d[k][0]

方括号[]只是基础类型list一种表示形式。

尝试这个

d = {1: ['a', 'b', 'c'], 2: ['d'], 3: ['e','f'], 4: ['g'], 5: ['h', 'i']}
f= lambda x: x[0] if len(x)==1 else x
{i:f(d[i]) for i in d}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM