将字符串转换为字典
Convert String to Dictionary
我有一个字符串
str = "Name John"
我想把它改成字典
{"Name":"John"}
如何实现?
我曾尝试使用理解,但出现错误。
str = "Arjun 23344"
Name = {str.split()}
错误
Traceback (most recent call last):
File "/home/daphney/Python/AGame.py", line 2, in <module>
Name = {x.split()}
TypeError: unhashable type: 'list'
您可以通过提供 [key,value] 列表(或(key,value)元组)的列表来使用 dict
函数创建字典:
my_str = "Arjun 23344"
Name = dict([my_str.split()])
print(Name) # output: {'Arjun': '23344'}
您可以拆分:
my_dict = {str.split(" ")[0]:str.split(" ")[1]}
注意:如果你有,比方说,Name John Smith
并希望字典为 Name:Smith
,那么你只需将 [1]
更改为 [-1]
即可获得最后一个索引项目。
Name = dict([str.split()])
这仅在您的字符串始终拆分为正好 两个单词时才有效。这是有效的,因为 split
调用 returns 两个元素的列表,然后将其存储在包含列表中,并传递给 dict
构造函数。后者可以与成对(list
或其他)的序列(list
或其他)正常工作。
这在这种特殊情况下有效,但不够健壮或便携。
因为你的变量中只有两个字符串。
string = "Name Shivank"
k,v = string.split()
d = dict()
d[k] = v
print(d) #output: {'Name':'Shivank'}
您可以向 split 函数提供第二个参数以限制分隔次数(在本例中为 1):
dict([string.split(" ",1)])
我有一个字符串
str = "Name John"
我想把它改成字典
{"Name":"John"}
如何实现? 我曾尝试使用理解,但出现错误。
str = "Arjun 23344"
Name = {str.split()}
错误
Traceback (most recent call last):
File "/home/daphney/Python/AGame.py", line 2, in <module>
Name = {x.split()}
TypeError: unhashable type: 'list'
您可以通过提供 [key,value] 列表(或(key,value)元组)的列表来使用 dict
函数创建字典:
my_str = "Arjun 23344"
Name = dict([my_str.split()])
print(Name) # output: {'Arjun': '23344'}
您可以拆分:
my_dict = {str.split(" ")[0]:str.split(" ")[1]}
注意:如果你有,比方说,Name John Smith
并希望字典为 Name:Smith
,那么你只需将 [1]
更改为 [-1]
即可获得最后一个索引项目。
Name = dict([str.split()])
这仅在您的字符串始终拆分为正好 两个单词时才有效。这是有效的,因为 split
调用 returns 两个元素的列表,然后将其存储在包含列表中,并传递给 dict
构造函数。后者可以与成对(list
或其他)的序列(list
或其他)正常工作。
这在这种特殊情况下有效,但不够健壮或便携。
因为你的变量中只有两个字符串。
string = "Name Shivank"
k,v = string.split()
d = dict()
d[k] = v
print(d) #output: {'Name':'Shivank'}
您可以向 split 函数提供第二个参数以限制分隔次数(在本例中为 1):
dict([string.split(" ",1)])