连接字符串和列表

时间:2013-01-09 02:44:40

标签: python

  

可能重复:
  Python concatenate string & list

是否可以连接字符串和列表?

以下代码会导致错误:TypeError: not enough arguments for format string

t = ["a", "b", "c"]
s = "%s.%s.%s" % t

4 个答案:

答案 0 :(得分:3)

如果您将列表转换为这样的元组,那可能会有效:

t = ["a", "b", "c"]
s = "%s.%s.%s" % tuple(t)

但是,python字符串有内置方法.join,所以,如果你的列表增长,你可以像这样处理它:

'.'.join(t)

这就是“pythonic方式”,你也应该避免在字符串中使用+运算符,总是使用.join和格式化字符串。这是因为Python Strings(和元组)不是可变对象,所以,当你做

"abc" + "cde"

Python必须分配新内存来存储新字符串。

我希望这能解决你的问题

答案 1 :(得分:0)

如果我理解你要做的是什么,那么str.join方法就是解决方案:

'.'.join(t)
>>> "a.b.c"

答案 2 :(得分:0)

如果你只是

t [0] + t [1] ... + t?

答案 3 :(得分:0)

您也可以使用新的字符串格式:

t = ["a", "b", "c"]
s = "{}.{}.{}".format(*t)