在本文中,我们将学习下面给出的问题陈述的解决方案。
问题陈述 -我们得到了一个字符串输入,我们需要将其转换为字典类型
在这里,我们将讨论两种不使用内置dict()
函数来解决问题的方法。
eval()
方法仅当语法或字符串的形式类似于字典的形式时,才使用Eval方法。如下 ,在这种情况下,可以将字符串直接转换为字典。
# String string = "{'T':1, 'U':2, 'T':3, 'O':4, 'R':5}" # eval() function dict_string = eval(string) print(dict_string) print(dict_string['T']) print(dict_string['T'])
{'T': 3, 'U': 2, 'O': 4, 'R': 5} 3 3
如果我们得到的字符串输入类似于字典的语法,那么在生成器表达式的帮助下,我们可以将其转换为字典。
string = "T-3 , U-2 , T-1 , O-4 , R-5" # Converting string to dictionary dict_string = dict((x.strip(), y.strip()) for x, y in (element.split('-') for element in string.split(', '))) print(dict_string) print(dict_string['T']) print(dict_string['T'])
{'T': '1', 'U': '2', 'O': '4', 'R': '5'} 1 1
在本文中,我们学习了如何从字符串创建字典。