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

如何检查列表中类实例是否含指定name属性?Python实现

实现城市创建程序的信息查询功能

核心逻辑

  1. 解析用户输入,提取待查询的建筑/道路名称
  2. 通过if/elif逻辑依次检查建筑列表、道路列表中的实例name属性
  3. 匹配成功则调用对应实例的info()方法,无匹配则给出提示

代码实现

# 假设已定义Building、Road类,且实例已存入buildings、roads列表
class Building:
    def __init__(self, name):
        self.name = name
    def info(self):
        print(f"【建筑详情】名称:{self.name},可在此补充更多属性信息")

class Road:
    def __init__(self, name):
        self.name = name
    def info(self):
        print(f"【道路详情】名称:{self.name},可在此补充更多属性信息")

# 处理用户输入
user_input = input("请输入指令:").strip()

if user_input.startswith("info "):
    target_name = user_input.split("info ", 1)[1]
    
    # 检查建筑列表
    is_found = False
    for building in buildings:
        if building.name == target_name:
            building.info()
            is_found = True
            break
    
    # 未找到建筑则检查道路列表
    if not is_found:
        for road in roads:
            if road.name == target_name:
                road.info()
                is_found = True
                break
    
    # 无匹配项提示
    if not is_found:
        print(f"未找到名为「{target_name}」的建筑或道路")
else:
    print("指令格式错误,请使用:info + 建筑/道路名称")

关键说明

  • 用startswith("info ")校验指令格式,避免因名称含空格导致的拆分错误
  • 遍历列表时匹配实例的name属性,找到后立即终止循环并调用info(),提升效率
  • 通过is_found标记控制条件流,符合需求中的if/elif判断要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 23:42:13