检查下一个值是否等于python循环中的当前值?

gthm

我正在遍历一个文件,我想检查下一个即将到来的对象是否等于当前对象。这两个对象的属性名称都类似Obj.name

这是一些简化的示例:

该文件包含:

Oba_A
Obj_B
Obj_C
Obj_D

我像这样循环遍历它们:

for obj in open("file.txt"):
    check if Obj_A.name==Obj_B.name, if not:
        if Obj_B.name==Obj_C.name

我是一名学习编程的生物学家。希望我在这里得到足够的鼓励。

洪水

忽略了如何从文本文件获取对象的问题,基本答案可能类似于以下内容:

last_value = None
for obj in collection:
    if obj.name == last_value:
        # do something
    else:
        # do something different
    last_value = obj.name

更新:如果你想行动基础上的下一个对象匹配的第一个对象,你可以存储到以前的对象,而不是仅仅的名字,前一个参考:

prev_obj = None
for obj in collection:
    if obj.name == prev_obj.name:
        # do something with prev_obj
    else:
        # do something different
    prev_obj = obj

或者,如果确实有助于将它们视为“当前”和“下一个”:

cur_obj = None
for next_obj in collection:
    if next_obj.name == cur_obj.name:
        # do something with cur_obj
    else:
        # do something different
    cur_obj = next_obj

但是请注意,我所做的只是更改了命名。程序仍然相同。

附加更新:循环中的第一次,prev_obj为None,因此它没有name属性。通过将其更新为以下方式来捕获该案例:

prev_obj = None
for obj in collection:
    if prev_obj is not None and obj.name == prev_obj.name:
        # do something with prev_obj
    else:
        # do something different
    prev_obj = obj

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查foreach循环中下一个对象中是否存在值

如何从当前循环访问循环中的下一个字典值?

如何使用java获取for循环中的当前和下一个arraylist索引

如何在for循环中比较当前索引值和下一个索引值?

Julia-for循环中的上一个和下一个值

Python 检查数组/向量中的一个值是否大于下一个值

如何检查for循环中的下一个迭代?

如何检查循环中的“下一个”字段是否相同?

如果缺少需要TRUE / FALSE的值,如何跳过for循环中的下一个站点?

如何检查数组中是否存在某个值并获取下一个值?

Java:检查循环中的当前项目是否是要循环的堆栈中的最后一个项目

ř获取当前列的下一个值

从当前R减去下一个值

在derby中重新连接时,序列的当前值前进到下一个100

也可以访问上一个和下一个值的Python循环

如何用下一个(或数据帧同一列中的上一个值)替换行中的当前值?

循环重新排列数组并检查下一个元素值

带下一个值的while循环

ColdFusion查询循环下一个值

Ansible循环获取下一个值

在bash for循环中调用当前项目和下一个项目

是否可以在数组中循环并在当前each()循环中访问下一个循环周期的元素?

如何在python中存储下一个循环的迭代值

创建 For 循环以预测组上的下一个值 (Python)

AngularJS-检查所选日期是否等于下一个营业日期

SQL语句,如果下一个值与当前值相同,则跳过该值

python中的下一个argmax值

在 wordpress foreach 循环中,返回当前行 id 和下一个/上一个行 id

Python:下一个for循环