简单的方法将python字符串转换为带引号的字符串

时间:2017-10-22 09:00:28

标签: python

我是python的新手,我有一个像help_category_id, name这样的选择语句,将此字符串转换为此的最有效方法是什么:

'help_category_id', 'name'

我目前已经完成了这项工作,但工作正常,但有更好,更干净的方法可以做到这一点:

test_string = 'help_category_id, name'
column_sort_list = []
if test_string is not None:
    for col in test_string.split(','):
        column = "'{column}'".format(column=col)
        column_sort_list.append(column)
column_sort = ','.join(column_sort_list)
print(column_sort)

2 个答案:

答案 0 :(得分:2)

使用循环结构的简单单行:

result = ", ".join(["'" + i + "'" for i.strip() in myString.split(",")])

我们在这里做的是创建一个包含原始字符串的所有子字符串的列表,并添加引号。然后,使用join,我们将该列表变为逗号分隔的字符串。

解构后,循环结构如下所示:

resultList = []
for i in myString.split(","):
    resultList.append("'" + i.strip() + "'")

请注意对i.strip()的调用,该调用会删除每个子字符串周围的无关空格。

注意:您可以使用格式语法使此代码更清晰:

新语法:

result = ", ".join(["'{}'".format(i.strip()) for i in myString.split(",")])

旧语法:

result = ", ".join(["'%s'" % i.strip() for i in myString.split(",")])

答案 1 :(得分:0)

也可以通过这个来实现。

','.join("'{}'".format(value) for value in map(lambda text: text.strip(), test_string.split(",")))
相关问题