Here we check the octets one-by-one than give a result whether IP address is valid or invalid.


Import module

import sys	


Checking octets. Create ip_addr_valid function.

def ip_addr_valid(list):	


Split list values with inside of for loop.

    for ip in list:	
        ip = ip.rstrip("\n")	

Divide each octet.

        octet_list = ip.split('.')	

Check each octet number whether it's in range or not. If it's in range, print valid. If not in range, print invalid

        if (len(octet_list) == 4) and (1 <= int(octet_list[0]) <= 223) and (int(octet_list[0]) != 127) and (	
                int(octet_list[0]) != 169 or int(octet_list[1]) != 254) and (	
                0 <= int(octet_list[1]) <= 255 and 0 <= int(octet_list[2]) <= 255 and 0 <= int(octet_list[3]) <= 255):	
            print('{} is a valid IP address'.format(ip))	
            continue
        else:	
            print('{} IP address is invalid'.format(ip))	
            sys.exit()	


192.168.1.121 and 1.1.1.1 is a valid IP address

lista  =["192.168.1.121","1.1.1.1"]				


Call ip_addr_valid function for lista list.

ip_addr_valid(lista)


Full code is as  below:

import sys	
def ip_addr_valid(list):						
    for ip in list:	
        ip = ip.rstrip("\n")	
        octet_list = ip.split('.')	
        if (len(octet_list) == 4) and (1 <= int(octet_list[0]) <= 223) and (int(octet_list[0]) != 127) and (	
                int(octet_list[0]) != 169 or int(octet_list[1]) != 254) and (	
                0 <= int(octet_list[1]) <= 255 and 0 <= int(octet_list[2]) <= 255 and 0 <= int(octet_list[3]) <= 255):	
            print('{} is a valid IP address'.format(ip))	
            continue	
        else:	
            print('{} IP address is invalid'.format(ip))	
            sys.exit()	
lista  =["192.168.1.121","1.1.1.1"]				
ip_addr_valid(lista)