【问题标题】:Use elements of a list of strings in a string keeping the quotation marks在保留引号的字符串中使用字符串列表的元素
【发布时间】: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:谢谢,这也有效!

标签: python string format


【解决方案1】:
"my_combined_list{t}".format(t=tuple(l))

【讨论】:

  • 这行得通,甚至可以进一步简化为"my_combined_list{}".format(tuple(l))
  • 如果要添加 Python 3.6 版本:f'my_combined_list{tuple(l)}'
猜你喜欢
  • 1970-01-01
  • 2012-01-18
  • 2010-09-09
  • 2018-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多