小编use*_*919的帖子

python Ubuntu错误安装Pillow 3.0.0

我最近尝试在我的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)

python ubuntu python-imaging-library

40
推荐指数
1
解决办法
1万
查看次数

ipv4存储的数据结构+算法 - 在前缀中高效搜索

我正在寻找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).

而我正在寻找数据结构+一些搜索算法.

c++ algorithm stl data-structures

5
推荐指数
1
解决办法
718
查看次数

列表理解中的python可迭代列表理解

我试图弄清楚为什么我的嵌套列表理解不起作用。代码:

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)

python list-comprehension

5
推荐指数
1
解决办法
259
查看次数