【问题标题】:find if item's variable exists in list using python使用python查找列表中是否存在项目的变量
【发布时间】:2016-01-31 05:33:14
【问题描述】:

如何使用 python 检查列表中的对象是否已经包含相同的名称?

  • 类对象团队
    • 属性:名称

我有一个包含多个“团队”的列表

伪代码

teams = [Team name="Dolphins", Team name="Browns", Team name="Ravens"]

我如何测试“Browns”团队是否已经存在? 它只是一个简单的 for 循环逐项执行,还是 python 有一些短代码可以做到这一点?

【问题讨论】:

  • if 'Dolphins' in teams' 编辑:对不起,我以为它们只是简单的字符串。它是一个具有属性名称的类吗?
  • "我有一个列表..." 这在我看来不像 Python 列表。当我运行它时,它给了我SyntaxError。你的意思是你的脚本正在读取一个文本文件?
  • 正确。它是一个具有“名称”属性的类
  • 我很困惑。它是哪一个?一个文本文件还是一个类?课程通常以class ClassName: 开头,而您没有。

标签: python


【解决方案1】:

如果团队名称定义了平等,您可以执行以下操作:

class Team(object):
    def __eq__(self, other_team):
        return self.name == other_team.name

那么你可以简单地做if team in teams(其中team是Team的一个实例,teamsTeam的实例列表)。

【讨论】:

    【解决方案2】:

    这个列表看起来不是pythony,但如果我们假设它是,那么方法如下:

    class Team:
        def __init__(self, name):
            self.name = name
    
    teams = [Team("Dolphins"), Team("Browns"), Team("Ravens")]
    
    def checkIfNameExists(team_obj_list, the_name):
        for team in team_obj_list:
            if (team.name == the_name):
                return "Name " + the_name + " already exists"
    
    print checkIfNameExists(teams, "Browns")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-21
      • 1970-01-01
      • 2021-09-14
      • 1970-01-01
      • 2013-12-12
      • 1970-01-01
      • 2021-06-25
      • 1970-01-01
      相关资源
      最近更新 更多