Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何迭代对象列表_Python_Loops_Object - Fatal编程技术网

Python 如何迭代对象列表

Python 如何迭代对象列表,python,loops,object,Python,Loops,Object,我有一个物品清单。我想检查一些字符串,如果该字符串作为字段值存在于列表中的任何对象中。比如说, class Ani: name = '' def __init__(self, name): self.name = name def getName(self): return self.name animal1 = Ani('alica') animal2 = Ani('rex') animal3 = Ani('bobik') anim

我有一个物品清单。我想检查一些字符串,如果该字符串作为字段值存在于列表中的任何对象中。比如说,

class Ani:
    name = ''
    def __init__(self, name):
        self.name = name

    def getName(self):
        return self.name


animal1 = Ani('alica')
animal2 = Ani('rex')
animal3 = Ani('bobik')
animal4 = Ani('dobik')
animal5 = Ani('sobik')

a = [animal1, animal2, animal3,animal4,animal5]

我的问题是编写代码以查看是否存在具有给定名称的对象。例如“chip”。

您可以迭代对象数组,并使用每个对象的
getName
函数进行检查

class Ani:
    name = ''
    def __init__(self, name):
        self.name = name

    def getName(self):
        return self.name


animal1 = Ani('alica')
animal2 = Ani('rex')
animal3 = Ani('bobik')
animal4 = Ani('dobik')
animal5 = Ani('sobik')

animals = [animal1, animal2, animal3,animal4,animal5]

searched_animal = 'rex'

for animal in animals:
  if animal.getName() == searched_animal:
    print('Found')
    break

您可以使用
any
加上理解:

any(animal.getName() == "chip" for animal in animals)

对于此程序,您可以使用
Ani
类中的
getName
方法

class Ani:
    name = ''
    def __init__(self, name):
        self.name = name

    def getName(self):
        return self.name


animal1 = Ani('alica')
animal2 = Ani('rex')
animal3 = Ani('bobik')
animal4 = Ani('dobik')
animal5 = Ani('sobik')

animals = [animal1, animal2, animal3,animal4,animal5]

key = 'chip'

flag=0
for animal in animals:
    if animal.getName() == key:
        print('Found')
        flag=1
        break

if flag==0:
    print("Not Found")

迭代包含任何内容的列表非常简单。像这样:

animal_to_find = "someAnimal"
for animal in animals:
  if animal.getName() == animal_to_find:
    print("Found a match for: " + animal)  

要求家庭作业帮助的问题必须包括到目前为止你为解决问题所做工作的总结,以及对你解决问题的困难的描述。没有人试图解决您的任务。请阅读您的帖子。重复: