为列表的每个条目添加引号
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 感谢您提到这一点,我已经更新了答案。以上是关于为列表的每个条目添加引号的主要内容,如果未能解决你的问题,请参考以下文章