可能重复:
Python 连接字符串和列表
是否可以连接字符串和列表?
以下代码导致错误:TypeError: not enough arguments for format string
t = ["a", "b", "c"]
s = "%s.%s.%s" % t
可能重复:
Python 连接字符串和列表
是否可以连接字符串和列表?
以下代码导致错误:TypeError: not enough arguments for format string
t = ["a", "b", "c"]
s = "%s.%s.%s" % t
如果您将列表转换为这样的元组,这可能会起作用:
t = ["a", "b", "c"]
s = "%s.%s.%s" % tuple(t)
但是,python 字符串具有内置方法 .join,因此,如果您的列表增长,您可以像这样处理它:
'.'.join(t)
这就是“pythonic 方式”,您还应该避免将 + 运算符与字符串一起使用,始终使用 .join 和格式化字符串。这是因为 Python 字符串(和元组)不是可变对象,所以,当你在做
"abc" + "cde"
Python 必须分配新内存来存储新字符串。
我希望这解决了你的问题
如果我了解您要执行的操作,则该str.join
方法将是解决方案:
'.'.join(t)
>>> "a.b.c"
如果你只是
t[0]+t[1]...+t?
您也可以使用新的字符串格式来做到这一点:
t = ["a", "b", "c"]
s = "{}.{}.{}".format(*t)