这个字符串出了什么问题?我无法弄清楚为什么它说格式字符串没有足够的参数。我是Python新手,只是搞清楚事情。
编辑:这与建议的其他问题不同。另一个是尝试做一些我甚至没有进入的疯狂阵列。我只需要了解元组的基本概念以及字符串格式化的工作原理。
data = ["John", 23, "United States", "United Kingdom"]
format_string = "Your name is %s and you are %s years old. You were born in %s and are now living in %s."
print(format_string %data)
是不是因为我内心没有“字符串”?如何使用包含字符串和数字的单个列表?例如,JSON列表。
答案 0 :(得分:1)
如果您将列表作为元组传递,它应该可以正常工作。
data = ["John", 23, "United States", "United Kingdom"]
format_string = "Your name is %s and you are %s years old. You were born in %s and are now living in %s."
print(format_string % tuple(data))
答案 1 :(得分:1)
str.__mod__
的右操作数必须是元组或单个值。由于它不是元组,因此它被解释为单个值,而格式字符串需要4元组。将data
转换为元组或首先将其设为元组。