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

Python循环中实现亲属类型与姓名对应输出的格式优化问题

解决方案:配对两个列表元素并格式化输出

这事儿很容易解决!你原来的代码是把两个列表分别完整输出,所以才会得到['Brother', 'Aunt'] ['Andreas Petersen', 'Anni Nielsen']这样的结果。要实现亲属类型: 姓名的对应格式,咱们可以用Python的zip()函数来把两个列表的对应元素一一绑定,再逐个格式化即可,不管亲属数量有多少都能适配。

方法1:循环配对打印

直接用zip()把other_relatives_kind和other_relatives_name打包,遍历每一对元素并格式化输出:

for kind, name in zip(victim['other_relatives_kind'], victim['other_relatives_name']):
    print(f"{kind}: {name}", end=" ")

这里的end=" "是让每个配对结果之间用空格分隔,而不是默认的换行。不过这种方式最后会多一个末尾空格,如果在意的话可以用下面更优雅的方法。

方法2:用join生成统一字符串(推荐)

先通过列表推导式把每一对元素格式化成字符串,再用" ".join()把所有字符串拼接成一个整体,最后打印:

# 生成所有配对的格式化字符串
relative_pairs = [f"{kind}: {name}" for kind, name in zip(victim['other_relatives_kind'], victim['other_relatives_name'])]
# 拼接成最终输出
formatted_output = " ".join(relative_pairs)
print(formatted_output)

用这个方法处理你给出的输入,会完美输出:

Brother: Andreas Petersen Aunt: Anni Nielsen

注意事项

  • 确保other_relatives_kind和other_relatives_name两个列表的长度一致,这样每一个亲属类型都能对应到正确的姓名。如果担心长度不一致的情况,可以用itertools.zip_longest来处理(需要先导入itertools模块),不过一般场景下用户输入的类型和姓名数量是对应的,zip()就足够用了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:52:25