我的字符串中包含一些数据,如下所示:
messagePayload = 'Key1: Value; Key2; Value; Key3: Value 3'
我一直在使用的根据这些数据制作字典的方法是:
messagePayload = dict(item.split(": ") for item in messagePayload.split("; "))
但是,有时特定键没有值。例如:
messagePayload = 'Key1: Value; Key2:; Key3: Value;'
当然,这会崩溃。有没有一种方法可以将没有值的键从字典中筛选出来?
谢谢!
您可以为理解添加一个条件:
messagePayload = dict(item.split(": ") for item in messagePayload.split("; ")
if len(item.split(': '))>1
)
此版本要求您split
为每个项目写两次(并评估一次)。您可以通过只编写一次该表达式来做到这一点,但是它要求您使用两个嵌套的理解:
messagePayload = dict(split for split in
(item.split(": ") for item in messagePayload.split("; "))
if len(split)>1)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句