如何用双引号打印列表中的元素



我有一个for循环,它将文本中的每一行打印为元素,并将其附加到列表中。它用单引号把它放在元素中,但我希望它用双引号。不确定使用什么以及从哪里开始。

我的文件包含

google.com 
yahoo.com
facebook.com 

我的脚本是

with open('file') as target:
addresses=[]
for i in target:
addresses.append(i)
print(addresses)

我想要的结果是

["google.com", "yahoo.com", "facebook.com"]

感谢提供的任何帮助

您可以使用json.dumps,并使用rstrip删除尾部空格和换行符。

import json
with open('test.txt') as target:
addresses=[]
for i in target:
addresses.append(i.rstrip())
print(json.dumps(addresses))

输出:

["google.com", "yahoo.com", "facebook.com"]

正如前面提到的,如果给定元素的类型是字符串,Python只打印单引号,就像您的情况一样。如果您需要在字符串周围显式地使用双引号,那么请使用f-string:

with open('file') as target:
addresses=[]
for i in target:
addresses.append(f""{i.rstrip()}"")
print(addresses)

它会给你

['"google.com"', '"yahoo.com"', '"facebook.com"']

这可能就是你想要的。

最新更新