Nein, str.startswith()
nimmt keinen Bereich.
Sie müssten den ersten Teil analysieren und als ganze Zahl testen; Filterung wird auch einfacher, mit einer Liste Verständnis getan:
[ip for ip in ip_addresses if 257 <= int(ip.partition('.')[0]) <= 310]
Die Alternative der ipaddress
library zu verwenden wäre; es wird jede ungültige Adresse mit einer ipaddress.AddressValueError
Ausnahme ablehnen, und da Adressen, die ungültigen über 255 mit etwas beginnen, können Sie leicht kooptieren, dass Ihre ungültigen Adressen zu filtern:
import ipaddress
def valid_ip(ip):
try:
ipaddress.IPv4Address(ip)
except ipaddress.AddressValueError:
return False
else:
return True
[ip for ip in ip_addresses if valid_ip(ip)]
die Teile eines gültigen IP liegt im Bereich von 0 bis 255 (beide inklusive). – thefourtheye