代码之家  ›  专栏  ›  技术社区  ›  Greg

如何将格式错误的数据对列表转换为dict?

  •  0
  • Greg  · 技术社区  · 15 年前

    我想把一个包含元组的字符串转换成一个字典。

    s=“香蕉4苹果2橘子4”

    d={'banana':'4','apple':'2','orange':'4'}

    我遇到了一个问题,因为空间用于分隔值和对。正确的诀窍是什么?

    4 回复  |  直到 15 年前
        1
  •  3
  •   ceth    15 年前
    >> s = "banana 4 apple 2 orange 4"
    >> lst = s.split()
    >> dict(zip(lst[::2], lst[1::2]))
    
        2
  •  5
  •   pyfunc    15 年前

    简单化,但在这里提供解决方案:

    使用split())

    >>> s = "banana 4 apple 2 orange 4"
    >>> s.split()
    ['banana', '4', 'apple', '2', 'orange', '4']
    >>> 
    

    将它们分组(此处需要进行一些错误检查)

    >>> k = [(x[t], x[t+1]) for t in range(0, len(x) -1, 2)]
    >>> k
    [('banana', '4'), ('apple', '2'), ('orange', '4')]
    >>> 
    

    用它编一本字典

    >>> dict(k)
    {'orange': '4', 'banana': '4', 'apple': '2'}
    >>> 
    
        3
  •  0
  •   Community Mohan Dere    9 年前

    呼叫 .split() , get the elements 2 at a time ,并将其传递给 dict() .

        4
  •  -1
  •   PatrickS    15 年前

    我不知道python,但应该可以将字符串转换为数组,然后遍历数组,通过交替使用name&value创建字典。