如何将str=“K1V1K2V2K3V3K4V4”转换为python中的{K1':'V1'、'K2':'V2'、'K3':'V3'、'K4':'V4'}等字典

2024-10-04 11:33:03 发布

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

如何将str=“K1V1K2V2K3V3K4V4”转换为python中的{K1':'V1'、'K2':'V2'、'K3':'V3'、'K4':'V4'}等字典


Tags: 字典k2k1v3v2v4v1str
3条回答

如果每个所需子字符串的长度大于1,则可以使用正则表达式:

import re
s="K1V1K2V2K3V3K4V4"
new_data =re.findall('[A-Z]{1,}\d+', s)
final_data = {new_data[i]:new_data[i+1] for i in range(0, len(new_data), 2)}

输出:

{'K3': 'V3', 'K2': 'V2', 'K1': 'V1', 'K4': 'V4'}

使用字典理解并切分字符串。你知道吗

a = "K1V1K2V2K3V3K4V4"
b = {a[i:i+2]:a[i+2:i+4] for i in range(0,16,4)}

也可以使用re模块:

import re

string="K1V1K2V2K3V3K4V4"
print({ s[:2]:s[2:] for s in (re.findall("....", string))})

输出:

{'K1': 'V1', 'K3': 'V3', 'K4': 'V4', 'K2': 'V2'}

相关问题 更多 >