代码之家  ›  专栏  ›  技术社区  ›  RustyShackleford

如何从字典中删除列表并使其成为元组列表?

  •  -2
  • RustyShackleford  · 技术社区  · 7 年前

    我有一个变量,它是一个列表,里面有元组,如下所示:

    variable = [{'email':['1@1.com']},{'email':['2@2.com']}]
    

    variable = [{'email':'1@1.com'},{'email':'2@2.com'}]
    

    我已尝试删除以下字符:

    variable.remove('[')
    

    但我发现语法错误

    TypeError:描述符“remove”需要一个“list”对象,但收到一个 “str”

    我正在使用jmespath库对json响应进行爬网。

    import jmespath
    
    path_to_data = jmespath.search("key1[*].key2[].key3.{email:[?type=='EMAIL'].value}",data_source)
    
    
    
    
    path_to_data = [{'email':['1@1.com']},{'email':['2@2.com']}]
    

    Jmespath正在创建listobject。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Chiheb Nexus    7 年前

    因此,基本上,要解决您的问题,您可以:

    variable = [{'email':['1@1.com']},{'email':['2@2.com']}]
    output = [{k: v[0]} for elm in variable for k, v in elm.items()]
    print(output)
    
    [{'email': '1@1.com'}, {'email': '2@2.com'}]