Python:基于字符分割字典值

时间:2019-07-05 10:15:01

标签: python dictionary

此词典的某些值带有“”。在里面。我想拆分这些值。

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

我希望它成为:(已编辑)

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

我尝试了split(“。”)

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

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

我没有找到其他解决方法。

2 个答案:

答案 0 :(得分:2)

尝试一下

>>> 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']}

答案 1 :(得分:2)

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

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