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

时间:2015-02-04 17:05:16

标签: python sockets comparison

假设我有这个包含多个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语法,所以请你告诉我如何做到这一点。

1 个答案:

答案 0 :(得分:2)

if address[0] in IpAddresses:

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