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

posted @ 2020-04-01 11:23  Bowen404  阅读(1172)  评论(0编辑  收藏  举报