字典列表字符串转换关系

Posted chandb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字典列表字符串转换关系相关的知识,希望对你有一定的参考价值。

python 列表转为字典的两个小方法
1、现在有两个列表,list1 = [\'key1\',\'key2\',\'key3\']和list2 = [\'1\',\'2\',\'3\'],
把他们转为这样的字典:{\'key1\':\'1\',\'key2\':\'2\',\'key3\':\'3\'}
>>>list1 = [\'key1\',\'key2\',\'key3\']
>>>list2 = [\'1\',\'2\',\'3\']
>>>dict(zip(list1,list2))
{\'key1\':\'1\',\'key2\':\'2\',\'key3\':\'3\'}
2、将嵌套列表转为字典,有两种方法,
>>>new_list= [[\'key1\',\'value1\'],[\'key2\',\'value2\'],[\'key3\',\'value3\']]
>>>dict(list)
{\'key3\': \'value3\', \'key2\': \'value2\', \'key1\': \'value1\'}
3、定义有序字典-------顺序为添加键值对的顺序,遍历有序输出
import cllections
d = collections.OrderedDict()
 
字典转字符串:
str(dict)、json.dumps(dict),无需多说。
字符串转字典:
str格式用eval(str)--二维数组、json格式用eval(str)或json.loads(str)
import json
dict = {\'name\':\'Zara\',\'age\':7,\'class\':\'First\'}
#str构造一个单引号字典型字符串
newdict=str(dict)
print newdict
print newdict[2:5]
print type(eval(newdict)),eval(newdict)
字典型字符串,键由单引号包围的,不能用json.loads(),只能用eval()
 
#json.dumps构造一个双引号字典型字符串
newdict2=json.dumps(dict)
print newdict2
print newdict2[2:5]
print type(eval(newdict2)),eval(newdict2)
 
单引号字典型字符串用json.loads()转字典
需要把单引号转换成双引号,这个需要特别注意
strdict =newdict.replace("\\\'","\\"")
print strdict
print json.loads(strdict)
 

以上是关于字典列表字符串转换关系的主要内容,如果未能解决你的问题,请参考以下文章

python 字典列表字符串 之间的转换

我想将字符串列表转换为字典列表

Python - 列表与字典相互转换

如何将字符串转换为字典或列表?

将字符串列表转换为字典

python字符串列表字典相互转换