V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jakeyfly
V2EX  ›  问与答

怎么把‘[x,x,x,x,]’这样的字符串变为列表啊

  •  
  •   jakeyfly · 2018-03-29 03:50:17 +08:00 · 2741 次点击
    这是一个创建于 2431 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我把多个列表存在 redis 的一个 set 里面 出来的时候 里面的列表全变成字符串了,怎么再变回列表啊

    15 条回复    2018-03-29 19:59:54 +08:00
    WO31400
        1
    WO31400  
       2018-03-29 03:52:31 +08:00   ❤️ 5
    python eval(str)
    jakeyfly
        2
    jakeyfly  
    OP
       2018-03-29 03:55:13 +08:00
    @WO31400 我了个草 居然把这个忘了 感谢大佬深夜鼎立相助
    wwqgtxx
        3
    wwqgtxx  
       2018-03-29 07:05:49 +08:00 via iPhone   ❤️ 2
    其实对于 python 最正确的办法应该是调用 ast.literal_eval
    blless
        5
    blless  
       2018-03-29 07:11:35 +08:00 via Android
    序列化,反序列化 ,请
    locktionc
        6
    locktionc  
       2018-03-29 08:20:17 +08:00 via iPhone
    我一般是用 JSON 来处理,存之前 JSON dumps 取回来以后 JSON loads
    Molita
        7
    Molita  
       2018-03-29 09:03:43 +08:00 via Android
    @wwqgtxx 这个是对滴
    SingeeKing
        8
    SingeeKing  
       2018-03-29 09:25:55 +08:00
    话说如果数据来源不够安全,有没有一个安全的方式来实现?
    ipwx
        9
    ipwx  
       2018-03-29 09:44:01 +08:00
    为什么存进去的时候不 json。
    jakeyfly
        10
    jakeyfly  
    OP
       2018-03-29 12:16:46 +08:00
    @ipwx 我是当管道用 多加一层 JSON 处理 会不会不效率
    ipwx
        11
    ipwx  
       2018-03-29 13:08:31 +08:00 via iPhone
    @jakeyfly 你把 Python 列表往 Redis 塞的时候,估计它已经变成字符串了
    jakeyfly
        12
    jakeyfly  
    OP
       2018-03-29 13:59:08 +08:00
    @ipwx 是这样的 塞进去就变成字符串了 然后 现在我进去都 JSON 一下 就可以了 不过不知道会不会慢
    ssaber
        13
    ssaber  
       2018-03-29 17:26:15 +08:00
    hset,hget ?
    ipwx
        14
    ipwx  
       2018-03-29 19:59:09 +08:00
    @jakeyfly 塞进去变字符串是因为隐式调用了 repr(obj)。Python 里面 JSON 序列化一般会比 repr(obj) 慢,但是胜在跨平台性能好。你要是不喜欢,可以用上面有人提到过的 ast.literal_eval 来读取 repr(obj) 的结果,然而我觉得 ast 会比 JSON 反序列化慢。也许 eval 比较快,我不确定,但是这东西有安全隐患,尽量别用。
    ipwx
        15
    ipwx  
       2018-03-29 19:59:54 +08:00
    @jakeyfly “跨平台性能好”->“跨平台效果好”,或者“跨语言效果好”。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2594 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:50 · PVG 12:50 · LAX 20:50 · JFK 23:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.