小编Lin*_* Ma的帖子

ImportError:没有名为google.protobuf的模块

我正在遵循本指南(https://developers.google.com/protocol-buffers/docs/pythontutorial)并使用addressbook.proto的确切示例.

发布编译器生成的addressbook_pb2.py文件的内容.当我运行以下简单程序时,有错误说,找不到google.protobuf,任何想法如何解决这个问题?谢谢.

顺便说一句,在Mac OSX上使用Python 2.7.

from addressbook_pb2 import Person

p = Person()
p.email = "abc"

print p.email
Run Code Online (Sandbox Code Playgroud)

这是自动生成的文件addressbook_pb2.py,

# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: addressbook.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor.FileDescriptor(
  name='addressbook.proto',
  package='tutorial', …
Run Code Online (Sandbox Code Playgroud)

python protocol-buffers python-2.7

35
推荐指数
7
解决办法
7万
查看次数

Python中内置的最大堆API

默认heapq是min队列实现,并想知道是否有最大队列选项?谢谢.

我尝试使用_heapify_max作为最大堆的解决方案,但是如何处理动态推/弹元素?似乎_heapify_max只能在初始化时使用.

import heapq

def heapsort(iterable):
    h = []
    for value in iterable:
        heapq.heappush(h, value)
    return [heapq.heappop(h) for i in range(len(h))]

if __name__ == "__main__":

    print heapsort([1, 3, 5, 7, 9, 2, 4, 6, 8, 0])
Run Code Online (Sandbox Code Playgroud)

编辑,尝试_heapify_max似乎不适用于动态推/弹元素.我尝试两种方法输出相同,两个输出都是,[0,1,2,3,4,5,6,7,8,9].

def heapsort(iterable):
    h = []
    for value in iterable:
        heapq.heappush(h, value)
    return [heapq.heappop(h) for i in range(len(h))]

def heapsort2(iterable):
    h = []
    heapq._heapify_max(h)
    for value in iterable:
        heapq.heappush(h, value)
    return [heapq.heappop(h) for i in range(len(h))]

if __name__ == "__main__":

    print heapsort([1, 3, 5, …
Run Code Online (Sandbox Code Playgroud)

python algorithm queue priority-queue

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

awk的默认字段分隔符

抱歉这个愚蠢的问题,搜索但不自信是找到正确的答案,所以默认的分隔符只是awk的空间?

unix linux awk posix separator

20
推荐指数
3
解决办法
2万
查看次数

混淆了关于scikit学习决策树中的random_state

random_state参数感到困惑,不确定为什么决策树训练需要一些随机性.我的想法,(1)它与随机森林有关吗?(2)是否与分裂训练测试数据集有关?如果是这样,为什么不直接使用训练测试分割方法(http://scikit-learn.org/stable/modules/generated/sklearn.cross_validation.train_test_split.html)?

http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html

>>> from sklearn.datasets import load_iris
>>> from sklearn.cross_validation import cross_val_score
>>> from sklearn.tree import DecisionTreeClassifier
>>> clf = DecisionTreeClassifier(random_state=0)
>>> iris = load_iris()
>>> cross_val_score(clf, iris.data, iris.target, cv=10)
...                             
...
array([ 1.     ,  0.93...,  0.86...,  0.93...,  0.93...,
        0.93...,  0.93...,  1.     ,  0.93...,  1.      ])
Run Code Online (Sandbox Code Playgroud)

问候,林

python machine-learning decision-tree python-2.7 scikit-learn

18
推荐指数
2
解决办法
2万
查看次数

在单词搜索中Trie树匹配性能

我已经调试了一些类似的解决方案,但想知道我们是否可以将Trie Tree改进为部分匹配前缀(在Trie类的搜索方法中,当前搜索方法仅检查是否匹配完整的单词)甚至可以提高性能,这可能会返回从较早的错误路径?我对这个想法不是很有信心,所以早点寻求建议.

我发布了一个类似的解决方案.谢谢.


给定2D板和字典中的单词列表,找到板中的所有单词.

每个字必须由顺序相邻的单元的字母构成,其中"相邻"单元是水平或垂直相邻的单元.一个单词中不能多次使用相同的字母单元格.

例如,给出单词= ["oath","pea","eat","rain"]和board =

[
  ['o','a','a','n'],
  ['e','t','a','e'],
  ['i','h','k','r'],
  ['i','f','l','v']
]
Run Code Online (Sandbox Code Playgroud)

返回["吃","誓言"]

class TrieNode():
    def __init__(self):
        self.children = collections.defaultdict(TrieNode)
        self.isWord = False

class Trie():
    def __init__(self):
        self.root = TrieNode()

    def insert(self, word):
        node = self.root
        for w in word:
            node = node.children[w]
        node.isWord = True

    def search(self, word):
        node = self.root
        for w in word:
            node = node.children.get(w)
            if not node:
                return False
        return node.isWord

class Solution(object):
    def findWords(self, board, words):
        res = []
        trie …
Run Code Online (Sandbox Code Playgroud)

python algorithm

17
推荐指数
1
解决办法
794
查看次数

用于freetype,png包的Windows 7上的Python matplotlib安装问题

在Windows 7上使用Python 2.7.这是我用来安装的命令和错误消息.想知道以前是否有人遇到过类似的问题?谢谢.

C:\Python27\Scripts>pip install matplotlib
Collecting matplotlib
  Downloading matplotlib-1.5.2.tar.gz (51.6MB)
    100% |################################| 51.6MB 19kB/s
    Complete output from command python setup.py egg_info:
    ============================================================================

    Edit setup.cfg to change the build options

    BUILDING MATPLOTLIB
                matplotlib: yes [1.5.2]
                    python: yes [2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015,
                            20:40:30) [MSC v.1500 64 bit (AMD64)]]
                  platform: yes [win32]

    REQUIRED DEPENDENCIES AND EXTENSIONS
                     numpy: yes [version 1.11.1]
                  dateutil: yes [dateutil was not found. It is required for date

                            axis support. pip/easy_install may attempt to
                            install it after matplotlib.] …
Run Code Online (Sandbox Code Playgroud)

python windows matplotlib windows-7 python-2.7

17
推荐指数
3
解决办法
2万
查看次数

在Scala中打印变量类型

是否有一个简洁的方法可以在Scala中打印变量的类名?

有时我看val result = foo(a,b,c),因为方法foo可能返回不同类型的对象,如果我可以打印类型的结果,它会很棒.

scala

13
推荐指数
2
解决办法
9167
查看次数

限制为0的SQL查询

我看到人们编写SQL查询,例如,

select count(*) 
from xxx_table 
where yyy='abc' 
limit 0
Run Code Online (Sandbox Code Playgroud)

想知道这里有什么限制0?提到一些文件和讨论仍然感到困惑.

sql

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

年轻一代的JVM垃圾收集

如果我错了,请随时纠正我.在JVM堆中,有两代,旧的和年轻的.在完成GC时,在老一代中,有一些繁重的操作,如紧凑空间和固定孔,这将使JVM挂起.我发现在年轻一代,应用了轻量级GC,我的搜索结果中还有另一个名为Eden的区域涉及年轻一代.然而,在搜索了很多文档后,我仍然对年轻一代的GC有两个混淆,

  1. 在年轻一代中,GC似乎不能像老一代GC那样工作(即老一代GC紧凑并固定孔)?如果是这样,年轻一代的GC是如何运作的?
  2. 什么是伊甸园空间以及这个空间如何在年轻一代中使用?欣赏是否可以推荐任何新手的文件.

garbage-collection jvm

12
推荐指数
1
解决办法
9346
查看次数

使用SQL Developer导入Oracle .dmp文件

想要导入从另一个数据库导出的.dmp文件,并想知道是否有人有使用SQL开发人员的.dmp文件的GUI导入选项的经验?搜索了很多文档,但找不到详细信息.我可以使用SYS或SYSTEM用户导入.

林先生,提前谢谢

oracle oracle-sqldeveloper

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