有条件地将字符串转换为Python中的字典

ny

我的字符串中包含一些数据,如下所示:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有条件地将命令的标准输出转换为字符串的寿命不足

有条件地将字符串转换为特定的数值

如果字段是MongoDB中的字符串,如何有条件地将其转换为日期?

有条件地将JSF组件添加到翻译字符串中

将信息添加到有条件地比较字符串的列中

有条件地将一列中的子字符串值替换为其他列的子字符串

如何有条件地从字符串列表中删除子字符串?

如何在Javascript中有条件地将包含日语字符的字符串放入单独的数组中

有条件地将字符添加到 Pandas DataFrame 中字符串的开头

有条件地拆分大字符串

有条件地替换字符串

有条件地设置字符串

ansbile:有条件地拆分字符串

R有条件地更改字符串

有条件地连接字符串

有条件地将查询字符串附加到有角度的href

有条件地将关键字添加到 JavaScript 中的字符串

如何有条件地将子字符串复制到熊猫数据框的新列中?

尝试有条件地将字符串的子部分提取到新列中

有条件地替换字符串中的特定字符

有条件地将字母添加到字符串

有条件地将字符串粘贴在一起

如何根据右侧字符串中的字符总数有条件地连接列表中的字符串?

Python有条件地在变量之间添加字符串值

有条件地连接 Pandas 数据框中的字符串

根据列中的字符串有条件地折叠 Excel 行?

如何有条件地替换熊猫数据框列中的子字符串?

从R中的字符串的模式中有条件地提取数字

使用 numpy select 有条件地拆分 Pandas 数据框中的字符串