📜  Python|将字符串内容转换为字典

📅  最后修改于: 2022-05-13 01:54:56.620000             🧑  作者: Mango

Python|将字符串内容转换为字典

有时,我们得到了字符串,我们可能不得不将它的内容转换为字典。字符串可能具有可以键值转换的指定格式。这类问题在机器学习领域很常见。让我们讨论一些可以解决这个问题的方法。

方法 #1:使用split() + 字典理解
上述方法的组合可用于执行此特定任务。这是2处理方法。第一步,使用 split 将字符串转换为列表,然后使用字典理解将字符串转换回字典。

# Python3 code to demonstrate working of
# Converting String content to dictionary
# Using dictionary comprehension + split()
  
# initializing string 
test_str = "Gfg = 1, Good = 2, CS = 3, Portal = 4"
  
# printing original string 
print("The original string is : " + test_str)
  
# Using dictionary comprehension + split()
# Converting String content to dictionary
res = {key: int(val) for key, val in (item.split('=')
                   for item in test_str.split(', '))}
  
# printing result 
print("The newly created dictionary : " + str(res))
输出 :
The original string is : Gfg = 1, Good = 2, CS = 3, Portal = 4
The newly created dictionary : {' CS ': 3, 'Gfg ': 1, ' Portal ': 4, ' Good ': 2}

方法 #2:使用eval()
这个特殊问题可以使用内置函数eval解决,该函数在内部评估字符串并根据条件将字符串转换为字典。

# Python3 code to demonstrate working of
# Converting String content to dictionary
# Using eval()
  
# initializing string 
test_str = "Gfg = 1, Good = 2, CS = 3, Portal = 4"
  
# printing original string 
print("The original string is : " + test_str)
  
# Using eval()
# Converting String content to dictionary
res = eval('dict(% s)' % test_str)
  
# printing result 
print("The newly created dictionary : " + str(res))