将列表转换为字符串

时间:2017-06-09 07:39:40

标签: python string list

执行以下转换的pythonic方法是什么?

[a,b,c] - > “'a','b','c'”

其中a,b和c都是包含字符串的变量。

5 个答案:

答案 0 :(得分:7)

只需按常规方式将其转换为字符串,然后删除不需要的括号?

str(mylist)[1:-1]

答案 1 :(得分:1)

<德尔> 在字符串上使用`.join`方法     &#39;,&#39; .join([&#39; a&#39;,&#39; b&#39;,&#39; c&#39;])

误解了这个问题

"'{}' '{}' '{}'".format(*[a, b, c])

或者如果您不知道列表的长度

 a, b, c = 'ehllo', 'sdf', 'sdflkj'
 d = [a,b,c]
 ("'{}', " * len(d))[:-2].format(*d).strip()

输出,它非常笨重但即使列表元素不是str

它也会起作用
"'ehllo', 'sdf', 'sdflkj'"

或在python 3.6中

d = [a, b, c]
f"{d[0]} {d[1]} {d[2]}"

答案 2 :(得分:1)

直接方法是

var = [a,b,c]
'\'' + '\', \''.join(var) + '\''

假设变量的内容是其名称的字符版本(即a, b, c = 'a', 'b', 'c'),则输出为

"'a', 'b', 'c'"

答案 3 :(得分:1)

您可以使用str.format()

d = [a, b, c]
final = "'{}', '{}', '{}'".format(*d)

编辑:@Stefan Pochmann答案启发的答案

d = [a, b, c]
final = str(d)[1:-1]

示例:

a, b, c = 'a', 'b', 'c'
d = [a, b, c]
final = "'{}', '{}', '{}'".format(*d)
print(final)

输出:

'a', 'b', 'c'

答案 4 :(得分:0)

我认为所有其他解决方案都有效,但这是我的:

final_string = ""
for item in list:
    if item != list[-1]:
        final_string += "'" + item + "', "
    else:
        final_string += "'" + item

不是很简洁,但我认为理解这个过程很重要。这是我在编写新程序时首先编写的内容,并在以后进行优化。我想确切地知道发生了什么,有时候单线解决方案可能会有点云。但我最终会重构。