执行以下转换的pythonic方法是什么?
[a,b,c] - > “'a','b','c'”
其中a,b和c都是包含字符串的变量。
答案 0 :(得分:7)
只需按常规方式将其转换为字符串,然后删除不需要的括号?
str(mylist)[1:-1]
答案 1 :(得分:1)
误解了这个问题
"'{}' '{}' '{}'".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
不是很简洁,但我认为理解这个过程很重要。这是我在编写新程序时首先编写的内容,并在以后进行优化。我想确切地知道发生了什么,有时候单线解决方案可能会有点云。但我最终会重构。