为列表的每个条目添加引号

Posted

技术标签:

【中文标题】为列表的每个条目添加引号【英文标题】:Add quotes to every single entry of a list 【发布时间】:2022-01-22 20:38:43 【问题描述】:

我有一个类似的列表

Foo 6
Bar 9
Ding 8
Dong 7
...

我使用了一些在线工具为每个条目添加逗号,但是如果我尝试在 python 中创建一个列表,我会遇到语法错误

list=[Foo 6, Bar 9, Ding 8, Dong 7,...]

我认为这是因为我混合了字符串和整数,所以添加引号确实有效

list=["Foo 6, Bar 9, Ding 8, Dong 7,..."]

但这只有一个条目,所以它没用。有没有办法把它转换成

list=["Foo 6", "Bar 9", "Ding 8", "Dong 7",...]

感谢您的帮助

【问题讨论】:

1- 不要使用list 作为变量名,这是一个python 内置函数。 2-什么是初始输入?一个文本文件?这肯定不是 python 列表 l = ["Foo 6, Bar 9, Ding 8, Dong 7, ..."] ; l[0].split(', ') 【参考方案1】:

当我需要从表复制值创建列表时,我总是使用下面

string = """Foo 6
Bar 9
Ding 8
Dong 7"""

for i in string.split("\n"):
    print(f"\"i.strip()\"", end=",")

现在输出是

"Foo 6","Bar 9","Ding 8","Dong 7",

只需复制并粘贴到变量中

阅读评论后,如果你想要一个列表变量,你可以在下面运行

string = '''Foo 6
Bar 9
Ding 8
Dong 7'''

lis = []
for i in string.split("\n"):
    lis.append(i.strip())

print(lis)

【讨论】:

这不是创建列表,而是打印字符串 是的,您可以复制正在打印的字符串并分配给变量 这个不切实际,只生成一个列表 添加了所需的代码【参考方案2】:

您可以通过使用 split() 将元素用“,”分隔来管理此输入。

l = ["Foo 6, Bar 9, Ding 8, Dong 7"]

new_list = [ele.strip() for ele in l[0].split(",")]

输出:

['Foo 6', 'Bar 9', 'Ding 8', 'Dong 7']

【讨论】:

输出有不需要的前导空格。 @S3DEV 感谢您提到这一点,我已经更新了答案。

以上是关于为列表的每个条目添加引号的主要内容,如果未能解决你的问题,请参考以下文章

如何构建“添加/删除程序”列表?

将条目添加到列表的开头并删除最后一个

将命名向量添加到列表中

保存Python字典时,json为每个条目添加一个字符[重复]

将列表条目作为值更新为嵌套字典

jQuery mobile 在列表条目后添加一个空格