如何在打印列表时去除括号引号并在末位姓名前添加and
解决方案
你可以通过判断姓名列表的长度,针对性地拼接字符串来实现需求,具体代码如下:
name = "Alba, Dawson, Oliver" names = name.split(', ') # 根据姓名数量处理格式 if len(names) == 1: formatted_names = names[0] else: # 拼接前n-1个姓名,再添加and和最后一个姓名 formatted_names = ', '.join(names[:-1]) + ' and ' + names[-1] print(f"The names found are: {formatted_names}")
逻辑说明
- 当只有1个姓名时,直接输出该姓名
- 当有2个及以上姓名时:
- 用
', '.join(names[:-1])把除最后一个外的所有姓名用逗号分隔拼接 - 再加上
' and '和最后一个姓名,形成符合要求的格式
- 用
测试不同场景
- 输入
"Alice, Bob",输出:The names found are: Alice and Bob - 输入
"Anna, Ben, Charlie, Dave",输出:The names found are: Anna, Ben, Charlie and Dave - 输入
"Eve",输出:The names found are: Eve
内容的提问来源于stack exchange,提问作者user18313765
相关产品推荐
相关产品推荐

