Почему for пропускает (не находит) подстроку в некоторых элементах списка.
Ниже упрощенный пример.
test = ['127.0.0.1/1', '127.0.0.1/2', '127.0.0.1/3', '127.0.0.1/4', '127.0.0.1/5', '127.0.0.1/6', '127.0.0.2/7', '127.0.0.2/8', '127.0.0.2/9']
def main():
ip = "127.0.0.1"
for t in test:
if ip in str(t):
print('ip found', ip, 'debug: ', t)
test.remove(t)
else:
print('not found', 'debug: ', t, ip)
if __name__ == "__main__":
main()
Вывод:
ip found 127.0.0.1 debug: 127.0.0.1/1
ip found 127.0.0.1 debug: 127.0.0.1/3
ip found 127.0.0.1 debug: 127.0.0.1/5
not found debug: 127.0.0.2/7 127.0.0.1
not found debug: 127.0.0.2/8 127.0.0.1
not found debug: 127.0.0.2/9 127.0.0.1