【发布时间】:2016-11-18 19:00:10
【问题描述】:
我有一本 Python 字典:
dict1 = {'first': 'ABCDE', 'second': 12345, 'third': KITTY , 'four': dogcatbirdelephant, ...}
明确地说,我正在解析数据并将其放入 Python 中的字典中。
我的问题:有时third 的值有前缀。而不是值KITTY 或CAT,我有A:KITTY 或K:CAT。前缀可以是任何字母,并且总是有一个冒号分隔我想要的值(例如KITTY)和我不想要的前缀(A:)
然而,并不是所有的价值观都是这样的。有些实际上是没有前缀的字符串。
如果我保存“冒号后的所有内容”,如何解析这些字典值?有人会用 for 语句检查吗? (我宁愿避免这种情况,因为我认为这会严重影响性能。)
【问题讨论】:
-
mystring.split(':')[-1] -
你保证最多有一个冒号吗?例如,值将始终采用
b或a:b格式,在您想要b的位置,而不是在您想要b:c的位置a:b:c。 -
@PatrickHaugh 如果没有
:?它会返回什么? -
如果
mystring没有:然后mystring.split(':')[-1]返回mystring -
这取决于你如何构建你的 dict,但在最坏的情况下,你总是可以只做
dict1['third'] = dict1['third'].split(':')[-1]
标签: python dictionary string-parsing