You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python 3将用户输入的姓名列表格式化为“首字母.姓氏”?

将姓名列表转换为「首字母.姓氏」格式的实现方案

完整可运行代码(Python)

# 输入的姓名列表字符串
name_input = "Tony Stark, Steve Rodgers, Wade Wilson"

# 把输入字符串拆成单个姓名的列表
individual_names = name_input.split(", ")

# 逐个处理并输出
for full_name in individual_names:
    # 拆分名字和姓氏(默认按空格分隔)
    first_name, last_name = full_name.split()
    # 拼接成目标格式
    result = f"{first_name[0]}. {last_name}"
    print(result)

运行这段代码后,输出结果和示例一致:

T. Stark
S. Rodgers
W. Wilson

代码原理拆解(一步步讲给新手)

  • 拆分输入字符串:split(", ")会把输入里用「逗号+空格」分隔的姓名拆成一个列表,比如示例输入会变成 ["Tony Stark", "Steve Rodgers", "Wade Wilson"],这样就能逐个处理每个姓名了。
  • 遍历每个姓名:用for循环逐个取出列表里的完整姓名,比如第一次循环拿到"Tony Stark",第二次拿到"Steve Rodgers"。
  • 拆分名和姓:full_name.split()默认按空格拆分字符串,把"Tony Stark"拆成("Tony", "Stark"),分别赋值给first_name和last_name两个变量。
  • 生成目标格式:用f-string(Python 3.6及以上支持的语法)提取名字的第一个字符first_name[0],然后拼接上. 和姓氏,就得到了T. Stark这种格式。
  • 输出结果:用print()把每个处理好的姓名逐行打印出来。

进阶小补充(应对特殊情况)

如果遇到带中间名的姓名(比如Peter Benjamin Parker),想保留姓氏的话,可以调整拆分逻辑,取最后一部分作为姓氏:

full_name = "Peter Benjamin Parker"
name_parts = full_name.split()
# 取第一个名字的首字母,最后一个部分作为姓氏
result = f"{name_parts[0][0]}. {name_parts[-1]}"
print(result)  # 输出 P. Parker

内容的提问来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:50:25