Python format参数中的列表和元组可以使用“*”
和字典类似,列表和元组也可以用*
的形式来填充数据,比0[0], 0[1]这种形式少打很多符号。
# 通过字典设置参数
site = {"name": "Bowen's Hobby", "url": "https://www.cnblogs.com/bowen404"}
print("网站名:{name}, 地址 {url}".format(**site))
# 通过列表设置参数
my_list = ["Bowen's Hobby", "https://www.cnblogs.com/bowen404"]
print("网站名:{0}, 地址 {1}".format(*my_list))
# 通过元组设置参数
my_tuple = ("Bowen's Hobby", "https://www.cnblogs.com/bowen404")
print("网站名:{0}, 地址 {1}".format(*my_list))
结果:
网站名:Bowen's Hobby, 地址 https://www.cnblogs.com/bowen404
网站名:Bowen's Hobby, 地址 https://www.cnblogs.com/bowen404
网站名:Bowen's Hobby, 地址 https://www.cnblogs.com/bowen404
猜测这里的*起指针取内容作用,字典类似二维数组,所以需要取两次。
但对于嵌套的列表,一样必须用一个*
,用**
的话会提示TypeError: format() argument after ** must be a mapping, not list