我想将包含单引号和双引号的python列表转换为所有带双引号的值 我想这样做是因为我想将该列表转换为元组,而不是将该元组输出提供给PostgreSQL查询
我尝试了JSON转储方法,但由于无法将JSON列表转换为元组而无法将元组作为postgresql查询的输出,因此无法正常工作
list = ['parrot', 'dog', "leopard's", 'cat', "zebra's"]
希望输出为:-
list = ["parrot", "dog", "leopard's", "cat", "zebra's"]
答案 0 :(得分:0)
对于python来说两者没有区别:
>>> list = ['parrot', 'dog', "leopard's", 'cat', "zebra's"]
>>> list2 = ["parrot", "dog", "leopard's", "cat", "zebra's"]
>>> list == list2
True
您可以将它们转换为元组,并且它们仍然相同:
>>> tuple(list) == tuple(list2)
True
使用""
或''
只是字符串“ constructor”的表示形式,并且只有在字符串中包含其他引号的情况下它才会更改。
答案 1 :(得分:0)
单引号或双引号无关紧要,但是如果使用已经具有默认值的名称,则会遇到麻烦。
list_1 = ['parrot', 'dog', "leopard's", 'cat', "zebra's"]
tuple_new = tuple(list_1)
这部分代码可以帮助您从列表中创建一个元组。
>>>list_1
['parrot', 'dog', "leopard's", 'cat', "zebra's"]
>>>tuple(list_1)
('parrot', 'dog', "leopard's", 'cat', "zebra's")
反正你会得到一个字符串元组。
如果您尝试使用python方式创建它,则会返回以下内容:
>>list_1
['parrot', 'dog', "leopard's", 'cat', "zebra's"]
>>'leopard\'s'
"leopard's"
>>'parrot'
'parrot'
>>"parrot"
'parrot'
我找到了实现的方法。
>>list1 = ['parrot', 'dog', "leopard's", 'cat', "zebra's"]
>>str1 = json.dumps(list1)
>>str1 = str1.replace("[", "")
>>str1 = str1.replace("]", "")
>>list2 = str1.split(", ")
>>list2
['"parrot"', '"dog"', '"leopard\'s"', '"cat"', '"zebra\'s"']
答案 2 :(得分:0)
根据您的建议
>>> list = ['parrot', 'dog', "leopard's", 'cat', "zebra's"]
>>> import json
>>> print(json.dumps(list))
["parrot", "dog", "leopard's", "cat", "zebra's"]