我是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)
答案 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(",")))