Python:Split dictionary 基于ch的值

2024-05-12 22:58:08 发布

您现在位置:Python中文网/ 问答频道 /正文

这本词典有一些带“.”的值。我想把这些值分开

d={'Id':200, 'Serv': 'df.WST', Floor: 'first', 'Wing': 'B.Wing'}

我希望它变成:(编辑)

d={'Id':200, 'Serv': 'df','WST', Floor: 'first', 'Wing': 'B','Wing'}

我试过分开(“.”)

d.values().split(".")

AttributeError: 'dict_values' object has no attribute 'split'

我找不到其他的方法


Tags: id编辑dfobjectdictfirstwingsplit
2条回答

由于字典的值只能有一个列表/dict来表示多个对象,因此您可以在那里有一个列表,或者用一些字符将其连接起来:

output :
{'Id': 200, 'Serv': ['df', 'WST'], 'Floor': 'first', 'Wing': ['B', 'Wing']}

Code:
for k,v in d.items():
    if isinstance(v,str)==True and v.find(".")!=-1:
        d[k]=v.split(".")
        #d[k]=",".join(v.split(".")) or join it as string using some character

试试这个

>>> d={'Id':200, 'Serv': 'df.WST', Floor: 'first', 'Wing': 'B.Wing'}

输出:

>>> {k:", v.split('.') if isinstance(v, str) else v for k,v in d.items()}
{'Id': 200, 'Serv': ['df', 'WST'], 'Floor': 'first', 'Wing': ['B', 'Wing']}

相关问题 更多 >