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

如何从嵌套的Pydantic类实例中获取mail类的email、mailid字段值

报错原因说明

  • 执行print(mail.email)报错:mail是你定义的Pydantic模型类,只有实例化后的mail对象才会持有email、mailid这些实例属性,直接访问类本身的同名属性不存在。
  • 执行print(userobj.mails.email)报错:userobj.mails是List[mail]类型,也就是存储了多个mail实例的列表,列表本身没有email属性,需要访问列表内的每个mail实例的对应属性。

正确实现方式

1. 遍历输出所有email

for mail_item in userobj.mails:
    print(mail_item.email)

运行输出:

aeajhs@gmail.com
aeajhsds@gmail.com

2. 一次性收集所有email为列表

email_list = [item.email for item in userobj.mails]
print(email_list)

运行输出:

['aeajhs@gmail.com', 'aeajhsds@gmail.com']

3. 输出指定格式的结果

如果需要你期望的逗号分隔带引号的格式,可使用如下代码:

formatted_output = ','.join(f"'{email}'" for email in email_list)
print(formatted_output)

运行输出:

'aeajhs@gmail.com','aeajhsds@gmail.com'

如果需要获取mailid的值,将上述代码中的.email替换为.mailid即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:15:03