我有多个str变量,我想将它们连接到单行但是使用分隔符:
var_a + 'SEPARATOR' + var_b + 'SEPARATOR' + var_c + 'SEPARATOR' + var_d
正如您所看到的,它看起来令人厌恶且效率低下。
那么,有没有办法通过在不同的字符串之间自动添加分隔符来简化它?
P.S。 我喜欢它在打印功能中的工作方式:
print(var_a, var_b, var_c, var_d, sep="SEPARATOR")
答案 0 :(得分:4)
您可以使用str.join
:
def custom_join(*args, sep=''):
return sep.join(args)
print(custom_join('a', 'b', 'c', 'd', 'e', 'f', sep="SEPARATOR"))
输出:
aSEPARATORbSEPARATORcSEPARATORdSEPARATOReSEPARATORf
答案 1 :(得分:3)
我会使用join
,例如:
mystring = 'SEPARATOR'.join([var_a, var_b, var_c, var_d])
print(mystring)
这会回答你的问题吗?
答案 2 :(得分:2)
是的,您可以使用str.join
:
vars = [var_a, var_b, var_c, var_d]
res = 'SEPARATOR'.join(vars)
答案 3 :(得分:2)
使用join
:
如果你的变量是字符串,你可以这样做:
'SEPARATOR'.join([var_a, var_b, var_c, var_d])
如果他们不是,你必须将它们转换为字符串:
'SEPARATOR'.join(map(str, [var_a, var_b, var_c, var_d]))
答案 4 :(得分:1)
使用join()
功能:
words = [var_a,var_b,var_c,var_d]
my_separator = "this is a separator"
my_expected_sentence= my_separator.join(words)
更新: 您也可以使用自定义方法:
def my_join(args, sep):
sentence=""
for i in args:
sentence+=i+sep
return sentence
words=["abc","def","ghi"]
data = my_join(words,'hello')
print(data)
这样你可以在每个单词之前添加分隔符。喜欢:
def my_preceding_join(args, sep):
sentence=""
for i in args:
sentence+=sep+i
return sentence
data = my_preceding_join(words,'hello')
print(data)