Foreach循环仅在包含namedtuple的列表上循环一次

问题描述

我有这段代码 从集合中导入namedtuple

Device = namedtuple('Device',['Name','Timestamp'])

#add samples
deviceList = [Device(Name = "alo",Timestamp="00000"),Device(Name = "lilo",Timestamp="1111"),Device(Name = "piko",Timestamp="2222")]

def findDeviceByName(listofDevices,DeviceName):
    print(listofDevices)
    for x in listofDevices:
        if (DeviceName == x.Name):
            return True
        else: 
            return False

print(findDeviceByName(deviceList,"lilo")) #returnes False even if lilo is in deviceList
print(len(deviceList)) #prints 3

出于某种原因,此foreach循环在列表的第一个元素处停止,但是您可以清楚地看到列表中有3个元素,即使len()如此表示

不确定为什么会这样,如果有人有任何想法,请告诉我 感谢您的问候和问候!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...