簡體   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