如何在 python 中从列表中删除双引号?

How can I remove double quotes from a list in python?

提问人:Zekra 提问时间:1/14/2022 更新时间:1/14/2022 访问量:1620

问:

我有以下问题:

我有一个包含多个电子邮件地址的字符串。 这些地址不是一成不变的。我从我的数据库中提取它们。 因此,例如,当地址被拉动并打印字符串时,输出为:

mails = 'email1', 'email2', 'email3'

现在我想从字符串中列出一个列表。 所以我的代码是:

list = [mails]

但是当我打印列表时,我得到以下结果:

["'email1', 'email2', 'email3'"]

如何删除双引号,使输出如下所示?

['email1', 'email2', 'email3']

感谢您的回答:)

python 字符串 列表 引号

评论

1赞 Nayuki 1/14/2022
打印列表对象时,列表会对每个内部对象调用 repr()。是 repr() 导致了双引号。这只是一个显示问题,不会影响原始字符串的内容。
0赞 Karl Knechtel 1/14/2022
欢迎来到 Stack Overflow。不清楚你的意思。你是说你有一个名为 的变量,它从你的程序中获取一个值?当你这样做时,你在屏幕上看到的结果正是?即您在使用时看不到零件mailsprint(mails)'email1', 'email2', 'email3'mails = print

答:

-1赞 Joran Beasley 1/14/2022 #1
import json
a_list = json.dumps(emails)

如果我想要一个像所描述的那样的字符串表示,我会怎么做......

1赞 ferdy 1/14/2022 #2

假设您在代码中:

mails = 'email1', 'email2', 'email3'

这是一个字符串元组,即

('email1', 'email2', 'email3')

您可以通过强制执行以下命令将其简单地转换为列表:

mails = list(mails)

这将产生

['email1', 'email2', 'email3']

当然,这一切都取决于您的输入数据。通常,您会从数据库中检索数据,并立即将其添加到列表或某些数据结构中,该数据结构比列表更能支持该数据的预期功能。

1赞 phk 1/14/2022 #3

使用正则表达式和列表推导式:

import re
my_list = [re.sub(r"'([^']+)'", r"\1", x) for x in my_list]

解释:单引号内的内容被添加到替换字符串所引用的组中。\1

0赞 araz malek 1/14/2022 #4

只需这样做:

mails = 'email1', 'email2', 'email3'
mails= list(mails)
print(mails)

现在结果将与您想要的相同:

['email1', 'email2', 'email3']