如何在Python中使用.format()格式化列表并去除括号与引号?
解决列表格式化输出问题
你遇到的问题是因为直接把列表传入format()时,Python会输出列表的默认字符串表示(带方括号和引号)。这里有几种简单的解决方式:
- 推荐方法:用
str.join()拼接列表元素
这是最通用的方案,不管列表长度多少都能用。用,作为分隔符,把列表里的所有姓名拼接成一个符合要求的字符串:
names = ['John', 'Karl', 'Anne', 'Beth'] print("Those kids' names are {}.".format(', '.join(names)))
如果你的Python版本是3.6及以上,用f-string写法会更简洁:
names = ['John', 'Karl', 'Anne', 'Beth'] print(f"Those kids' names are {', '.join(names)}.")
- 固定长度列表的写法(不推荐)
如果确定列表长度不会变,也可以用展开语法把列表元素逐个传入格式化字符串:
names = ['John', 'Karl', 'Anne', 'Beth'] print("Those kids' names are {}, {}, {}, {}.".format(*names))
但这种方式不够灵活,列表长度变化时就得修改占位符数量,所以优先用第一种方法。
内容的提问来源于stack exchange,提问作者duda
相关产品推荐
相关产品推荐

