如何检查 IP 地址是否在 python 中的预定义列表中

How to check an IP address is within a predefined list in python

假设我有这个包含多个 IP 地址的列表:

IpAddresses = ["192.168.0.1","192.168.0.2","192.168.0.3","192.168.0.4"]

然后在收到一个数据包后我想检查它的源地址是否包含在预定义列表 IpAddresses

data, address = rxsocket.recvfrom(4096)

我尝试了两种选择,但都没有用:

第一个:

if (address in IpAddresses):
    do something

然后,我尝试在进行比较之前将地址转换为字符串:

str_address = str(address)
if (str_address in IpAddresses):
    do something

我不熟悉 python 语法,请教我如何操作。

if address[0] in IpAddresses:

由于地址对象显示为元组,因此您的列表中仅出现第 0 个索引,因此您应该检查它是否存在(您通常也可以跳过 if 语句中的括号,除非它使 if 语句的可读性降低)