假设我有这个包含多个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语法,所以请你告诉我如何做到这一点。
答案 0 :(得分:2)
if address[0] in IpAddresses:
由于地址对象显示为元组,因此只有第0个索引出现在列表中,因此您应该检查它是否存在(通常也可以跳过if语句的括号,除非它使if语句的可读性降低)