【发布时间】:2018-06-22 16:23:47
【问题描述】:
我有一个这样的列表:
l = ['foo', 'bar', 'xyz']
并想把它变成一个字符串
my_combined_list('foo', 'bar', 'xyz')
一个简单的方法是做
s = "my_combined_list({})".format(l).replace('[', '').replace(']', '')
这给了我想要的结果。有没有更好的方法可以避开这两个replace?
【问题讨论】:
-
只是检查一下:您不打算将最终字符串传递给
eval,是吗?有很多更简单的方法可以调用具有可变数量参数的函数。特别是,my_combined_list(*l)会起作用。 -
另外,使用
eval是一种“代码味道”。 -
@Kevin: 不,我不会把它传给邪恶的
eval:) 我从 python 为另一种语言创建了一个脚本,然后我可以在那里加载... -
如果您使用的是 Python 3.6:
f'my_combined_list{tuple(l)}' -
@user3483203:谢谢,这也有效!