【问题标题】:Create dict from string in Python在 Python 中从字符串创建 dict
【发布时间】:2018-07-27 11:16:36
【问题描述】:

在我的 Python 程序中,我有一个格式字符串:

'name': 'Salman','age': '25', 'access': 'R', 'id': '00125'

我想将其转换为 dict 类型,以便我可以像 dict["name"] 这样查询以打印 "Salman"

【问题讨论】:

标签: python string dictionary


【解决方案1】:

我认为这是使用推导式的巧妙解决方案

s = "'name': 'Salman','age': '25', 'access': 'R', 'id': '00125'"
d = dict([i.strip().replace("'", "") for i in kv.split(':')] for kv in s.split(","))
# d == {'access': 'R', 'age': '25', 'id': '00125', 'name': 'Salman'}

【讨论】:

    【解决方案2】:

    首先将字符串用“:”和“,”分割,并将其存储在一个列表中。 然后从 0 迭代到 len(list)-2: mydict[list[i]] = list[i+1]

    【讨论】:

      【解决方案3】:

      使用ast.literal_eval:

      import ast
      
      mystr = "'name': 'Salman','age': '25', 'access': 'R', 'id': '00125'"
      
      d = ast.literal_eval('{'+mystr+'}')
      
      # {'access': 'R', 'age': '25', 'id': '00125', 'name': 'Salman'}
      
      d['access']  # 'R'
      

      【讨论】:

        猜你喜欢
        • 2018-04-25
        • 1970-01-01
        • 1970-01-01
        • 2019-12-02
        • 1970-01-01
        • 1970-01-01
        • 2022-01-21
        • 1970-01-01
        • 2016-02-29
        相关资源
        最近更新 更多