我最近尝试在我的Ubuntu 14.04上安装Pillow 3.0.0失败了.无论我做什么(每次出现错误时下载并尝试"sudo python setup.py install"或"sudo -H pip install Pillow == 3.0.0 --no-cache-dir"):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-3waMkf/Pillow/setup.py", line 767, in <module>
zip_safe=not debug_build(),
File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/install.py", line 61, in run
return orig.install.run(self)
File "/usr/lib/python2.7/distutils/command/install.py", line 601, in run
self.run_command('build')
File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in …Run Code Online (Sandbox Code Playgroud) 我正在寻找IPV4的数据结构.它应该存储什么?前缀:(base + mask) - >例如85.23.0.0/16
base = 85.23.0.0 - > 32位无符号
mask = 16 AKA 255.255.0.0 - > char 8 bit unsigned
所以min主机是85.23.0.0,最大主机是85.23.255.255(我知道在正常情况下应该是.0.1和.255.254,但我想简化它)
我需要的主要是在存储的前缀中搜索IP的速度.例如,我给unsigned int(32位),我需要告诉它是否存在.
我用C++编写,所以我可以使用STL
现在它存储在STL集(对基数+掩码)中,我一个接一个地搜索,所以它是O(n)的排序(不包括它可能是BST树,所以走过它可能比O慢( N))
总结一下:我不需要有效的方式来存储IPV4,我需要一种有效的方法来在某些数据结构中搜索它.并且数据结构不会存储端口或族类型等.它将存储PREFIX(base + mask).
而我正在寻找数据结构+一些搜索算法.
我试图弄清楚为什么我的嵌套列表理解不起作用。代码:
def myzip(*args):
try:
x = [iter(i) for i in [*args]]
while True:
# for i in range(5):
yield [next(ii) for ii in x]
# I want to know why the commented line below won't work
# yield [next(ii) for ii in [iter(i) for i in [*args]]]
# or why this outputs [1, 'a']
# return [next(ii) for ii in [iter(i) for i in [*args]]]
except:
pass
def main():
print(list(myzip([1, 2, 3, 4, 5], ['a', 'b', 'c'])))
if __name__ == …Run Code Online (Sandbox Code Playgroud)