str1='username=lisi&password=123456&address=中贸广场'。将以上字符串转换成字典
方法一:
str1='username=lisi&password=123456&address=中贸广场'
str2=str1.replace('&',' ').replace('=',' ')
list=str2.split()
dict={}
for i in range(0,len(list),2):
for j in range(1,len(list),2):
if j==i+1:
dict[list[i]]=list[j]
print(dict)
方法二:
dict1={}
str1 = 'username=lisi&password=123456&address=中贸广场'
list1=str1.split('&')#['username=lisi', 'password=123456', 'address=中贸广场'
for x in list1:
list2=x.split('=')
dict1[list2[0]]=list2[1]
print(dict1)
方法三:
str1='username=lisi&password=123456&address=中贸广场'
str1=str1.replace('&',' ').replace('=',' ')
s=str1.split()#把字符串切成列表
# print(str1)#username,lisi,password,123456,address,中贸广场
dic={}
for i in range(0,len(s),2):
for j in range(1,len(s),2):
if s[i+1]==s[j]:
dic[s[i]]=s[j]
print(dic)
方法四:
str1 = 'username=lisi&password=123456&address=中贸广场'
# n=str1.split('&')[0]#username=lisi 问题:字符串里的&号就自动分隔开下标位置了
# print(str1.index(0))#但是0位显示不出来
# print(n)#username=lisi
#print(str1.split('&')[0])#username=lisi
# print(n.split('='))#['username', 'lisi']
# print(n.split('=')[0])#username
name = (str1.split('&')[0]).split('=')[0]#取出username
name1 = (str1.split('&')[0]).split('=')[1]#取出lisi
pswd = str1.split('&')[1].split('=')[0]#取出password
pswd1 = str1.split('&')[1].split('=')[1]#取出123456
add = str1.split('&')[2].split('=')[0]#取出address
add1 = str1.split('&')[2].split('=')[1]#取出中贸广场
# k1 = (name, name1, pswd, pswd1, add, add1)
k = dict(name=name1, pswd=pswd1, add=add1)
print(k)