使用python查找列表中是不是存在项目的变量

Posted

技术标签:

【中文标题】使用python查找列表中是不是存在项目的变量【英文标题】: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。你的意思是你的脚本正在读取一个文本文件? 正确。它是一个具有“名称”属性的类 ***.com/questions/7125467/… 我很困惑。它是哪一个?一个文本文件还是一个类?课程通常以class ClassName: 开头,而您没有。 【参考方案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")

【讨论】:

以上是关于使用python查找列表中是不是存在项目的变量的主要内容,如果未能解决你的问题,请参考以下文章

python再学习4(列表的查找判断存在长度增加修改删除逆置复制)

Python 列表查找,如何在列表中查找项目或者元素索引翻译

如何在列表中查找项目的索引,在 Python 中使用正则表达式搜索项目?

Python,查找范围是否包含范围列表中的另一个较小范围

查找整数列表中是不是存在整数

在 Python 中查找逗号分隔列表中的第 N 个项目