是否可以连接字符串和列表?
以下代码会导致错误:TypeError: not enough arguments for format string
t = ["a", "b", "c"]
s = "%s.%s.%s" % t
答案 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)