我正在遵循本指南(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) 默认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) 抱歉这个愚蠢的问题,搜索但不自信是找到正确的答案,所以默认的分隔符只是awk的空间?
对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
我已经调试了一些类似的解决方案,但想知道我们是否可以将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) 在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) 是否有一个简洁的方法可以在Scala中打印变量的类名?
有时我看val result = foo(a,b,c),因为方法foo可能返回不同类型的对象,如果我可以打印类型的结果,它会很棒.
我看到人们编写SQL查询,例如,
select count(*)
from xxx_table
where yyy='abc'
limit 0
Run Code Online (Sandbox Code Playgroud)
想知道这里有什么限制0?提到一些文件和讨论仍然感到困惑.
如果我错了,请随时纠正我.在JVM堆中,有两代,旧的和年轻的.在完成GC时,在老一代中,有一些繁重的操作,如紧凑空间和固定孔,这将使JVM挂起.我发现在年轻一代,应用了轻量级GC,我的搜索结果中还有另一个名为Eden的区域涉及年轻一代.然而,在搜索了很多文档后,我仍然对年轻一代的GC有两个混淆,
想要导入从另一个数据库导出的.dmp文件,并想知道是否有人有使用SQL开发人员的.dmp文件的GUI导入选项的经验?搜索了很多文档,但找不到详细信息.我可以使用SYS或SYSTEM用户导入.
林先生,提前谢谢