我知道你可以在python中做这样的事情:
>>> conditional = False
>>> x = [1 if conditional else 2, 3, 4]
[ 2, 3, 4 ]
Run Code Online (Sandbox Code Playgroud)
但我怎么做这样的事呢?
>>> conditional = False
>>> x = [1 if conditional, 3, 4]
[ 3, 4 ]
Run Code Online (Sandbox Code Playgroud)
也就是说,我不想替换1另一个数字.如果conditional是假的话,我想简单地省略它.
我在我的程序中使用recvfrom从我在src_addr中指定的服务器获取DGRAM数据.但是,我不确定为什么我需要初始化并传入addrlen.
我阅读了手册页,但我并不真正了解它的内容.
如果src_addr不为NULL,并且底层协议提供源地址,则填写此源地址.当src_addr为NULL时,不会填充任何内容; 在这种情况下,不使用addrlen,也应该为NULL.参数addrlen是一个value-result参数,调用者应该在调用与src_addr关联的缓冲区大小之前初始化,并在返回时修改以指示源地址的实际大小.如果提供的缓冲区太小,则截断返回的地址; 在这种情况下,addrlen将返回一个大于提供给调用的值.
我猜这与src_addr是ipv4或ipv6有关.它是否正确?
谢谢!