问答详情

python中str如何转换为json格式?

999次观看
标签: 转换为 格式 python
老师回答

方法一:使用json的loads函数

import json

str='{"sel_list":[],"relation":"AND","enabled":false}'

j=json.loads(str)

方法二:使用 eval函数

eval函数将字符串str当成有效的表达式来求值并返回计算结果

a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"

b = eval(a)

type(b)

list

a = "{1: 'a', 2: 'b'}"

b = eval(a)

type(b)

dict

a = "([1,2], [3,4], [5,6], [7,8], (9,0))"

b = eval(a)

type(b)

tuple

另外eval()可以通过运行系统的命令,为了保证安全,当需要用户输入时,可以对用户输入进行敏感字符检查和过滤

eval("__import__('os').startfile('notepad.exe')") #启动记事本程

方法三:使用literal_eval

literal_eval和eval用法相同,但避免了eval的安全性的问题

import ast

a = "{1: 'a', 2: 'b'}"

b = ast.literal_eval(a)

type(b)

dict

免费直播

    精选课程
    相关推荐
    python中append()和extend()有什么区别?
    刘老师 Python编程

    python列表中,append()和extend()都可以在在原有列表上增加对象,但是使用起来有很大区别。append()用于在列表末尾添加新的对象,任意对象都是可以的,列表只占一个索引位,会修改原来的列表。extend()向列表尾部追加一个列表,对象必须是一个可以迭代的序列,将列表中的每个元素都追加进来,会在已存在的列表中添加新的列表内容。详情请看本文。

    一、append()

    用于在列表末尾添加新的对象,列表只占一个索引位,在原有列表上增加。

    1、语法

    list.append(obj)

    2、参数obj 

    向列表中添加一个对象obj ,即添加到列表末尾的对象;

    任意对象都是可以的;

    直接将整个obj放入列表末尾。

    3、返回值

    无返回值,但是会修改原来的列表。

    4、使用实例

     lia.append(lib)
     lia>>   ['aa', 1, 'bb', None, ['cc', 2, {'dd': 3}]]

    二、extend() 

    向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加。

    1、语法

    list.extend(seq)

    2、参数seq 

    把一个序列seq的内容添加到列表中,即元素列表;

    对象必须是一个可以迭代的序列;

    将seq打散后依次放入列表末尾。

    3、返回值

    无返回值,但会在已存在的列表中添加新的列表内容。

    4、使用实例

    lia.extend(lib)      不能用变量接收
    
    lia>>  ['aa', 1, 'bb', None, 'cc', 2, {'dd': 3}]

    以上就是python中append()和extend()的对比分析,希望能对你有所帮助哦~

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司