Python - 从多个令牌键和值创建键值对

时间:2016-12-14 23:55:46

标签: python dictionary key keyvaluepair

我有一个包含大量不同键和值的条目的字典。

由空格分隔的一些多标记字符串,一些没有空格的单个标记字符串。

有些人准确对齐,带有一个令牌的键,带有一个令牌的值:

"'Apl'": "'Apple'",

有些具有单个令牌密钥和多个令牌值:

"'Blpepr'": "'Bell Pepper'",

有些具有多个令牌密钥和单个令牌值:

"'Grn Bn'": "'Greenbean'",

还有一些人有多个令牌键和多个令牌值(两边的数字并不总是相同!):

"'Swt Ptto'": "'Sweet Potato'",

我正在尝试创建一个字典,尽可能地将关键字:值对分配给相应的边,这样至少我可以得到:

"'Apl'": "'Apple'",
"'Swt'": "'Sweet'",
"'Ptto'": "'Potato'",

我已经考虑了不匹配的令牌数量的密钥和值是一个丢失的原因,因为很难确定令牌的开始和结束位置没有空格。但至少对于空格分隔的那些,我们知道令牌开始和结束的位置,所以我希望结果与上面的相似。

要仅检索带空格的那些键,我已经对我的字典进行了以下操作:

for key, value in dictionary1.items():
    if " " in key and value:
        print(key + ":" + value)

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用.split()代替当前检查空格的方式:

for x in old_dict:
    for i in range(0,2):
        key = x.split()[i]
        value = old_dict[x][0].split()[i]
        new_dict[key] = value