Python 如何从字典中删除列表并使其成为元组列表?
我有一个变量,它是一个列表,里面有元组,如下所示:Python 如何从字典中删除列表并使其成为元组列表?,python,python-3.x,list,tuples,Python,Python 3.x,List,Tuples,我有一个变量,它是一个列表,里面有元组,如下所示: variable = [{'email':['1@1.com']},{'email':['2@2.com']}] 如何使变量成为元组列表,如下所示: variable = [{'email':'1@1.com'},{'email':'2@2.com'}] 我已尝试删除以下字符: variable.remove('[') 但我发现语法错误 TypeError:描述符“remove”需要一个“list”对象,但收到一个 “str” 编辑: 我
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 因此,基本上,要解决您的问题,您可以:
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'}]
第一个示例的语法是列表中第一个条目上的fubar-请编辑您的问题以显示实际有效的语法。请编辑您编写的代码,尝试在您的问题中解决此问题-StackOverflow不是代码编写服务。如果您还没有尝试编写一些代码来解决这个问题,那么:就这样做吧。@barny我添加了我尝试过的内容,但它并不是fubar的样子。根据错误消息,看起来您的变量实际上可能是字符串(而不是您在问题中显示的列表)。最好的做法是用引起问题的代码的实际部分编辑您的问题,这样我们就可以看到您首先是如何初始化
变量变量的,然后在尝试变量之前会发生什么(如果有的话)。删除(“[”)
@ChihebNexus,这是有效的!