小编Ant*_*rot的帖子

线性时间与二次时间

通常,一些答案提到给定的解决方案是线性的,或者另一个解决方案是二次的.

如何区分/识别什么是什么?

对于像我这样仍然不知道的人,有人可以解释这个,这是最简单的方法吗?

python complexity-theory big-o time-complexity

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

PyXB和python框架

我使用PyXB从java/spring平台生成Python模块,该平台通过RESTfull API以XSD格式公开其类模式.

我现在能够使用那些PyXB绑定类/模块解析同一平台所服务的XML数据.

我的问题是:

  • 我如何在Django或金字塔等框架中利用这些类来构建动态模型表单,表格等,就像我使用来自models.py django ORM的模型,或通过漏勺/变形金字塔简单形式一样
  • 有没有人在任何这些框架中使用过PyXB类?

xml django schema binding pyramid

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

Python-使用defaultdict制作自定义对象的字典

我创建了以下课程。包,网站和注释都是字符串,而distroDict是(字符串,列表)字典。

class TableEntry(object):

    def __init__(self, package, website, distroDict, comments):
        self.package = package
        self.website = website
        self.distroDict = distroDict
        self.comments = comments
Run Code Online (Sandbox Code Playgroud)

我想使用defaultdict(TableEntry)制作(字符串,TableEntry)自定义词典。

tableDict = defaultdict(TableEntry)
entry = TableEntry(package, website, distroDict, comments)
tableDict[package].append(entry)
Run Code Online (Sandbox Code Playgroud)

我希望包是键,输入对象是值。我可以在入口对象中使用值,但如果尝试将其附加到tableDict,则会收到以下错误。

Traceback (most recent call last):
  File "wiki.py", line 151, in <module>
    printMetaData(lines, f)
  File "wiki.py", line 73, in printMetaData
    tableDict[package].append(entry)
TypeError: __init__() takes exactly 5 arguments (1 given)
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下方法:

tableDict[package].append(TableEntry(package, website, distroDict, comments))
Run Code Online (Sandbox Code Playgroud)

并基本上收到相同的错误:

Traceback (most recent call last):
  File "wiki.py", line 150, in <module>
    printMetaData(lines, f) …
Run Code Online (Sandbox Code Playgroud)

python dictionary defaultdict

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

MongoDB db.collection.count() 与 db.collection.find().length()

我想了解为什么这些命令在mongos针对同一个 MongoDB 集合从实例运行时返回不同的数字?

  • db.users.count()
  • db.users.find().length()

原因可能是什么,它是否可能是潜在问题的迹象?

mongodb

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

如何展平元组列表并删除重复项?

我正在尝试从列表中的元组中删除重复项,并将它们添加到一个没有重复项的新列表中,

我尝试制作两个循环,但检查重复或设置,但问题是有三个元组

任何人都可以帮助我,我被困在这里

[(2, 5), (3, 5), (2, 5)]
Run Code Online (Sandbox Code Playgroud)

产量

[2, 3, 5]
Run Code Online (Sandbox Code Playgroud)

python

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

如何用numpy中的索引索引数组?

例如,我有一个数组及其索引:

  xx = np.arange(6).reshape(2,3)
  index = np.argwhere(xx>3)
Run Code Online (Sandbox Code Playgroud)

如果我使用

 xx[index]
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

IndexError: index 2 is out of bounds for axis 0 with size 2
Run Code Online (Sandbox Code Playgroud)

但如果我写:

xx[index[0], index[1]]
Run Code Online (Sandbox Code Playgroud)

我得到:

array([4, 5])
Run Code Online (Sandbox Code Playgroud)

这正是我想要的。但是如果我有一个 N 维数组,我是否需要写

xx[index[0], index[1], ..., index[N]]
Run Code Online (Sandbox Code Playgroud)

在这种情况下,还是有更好的方法来做到这一点?

python numpy

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

为什么我必须在每个pip安装之前键入`sudo`?

安装软件包时,以我的用户名记录,除非我这样做,否则我总是会被拒绝:

sudo pip install.

我怎么能这样做,所以这不是必要的?或者这应该是那样的?

python macos pip

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

金字塔:用于自定义记录器和外部授权系统的Tween或WSGI中间件?

我想清楚地了解什么是最pythonic和更清洁的实现方式:

  1. 自定义记录器.
  2. 一段代码,通过REST连接到第三方权利系统,与内部Pyramid ACL和权限系统相结合.

我是否应该编写一个WSGI中间件来获取应用程序作为参数或纯金字塔补间中的一个或两个我的要求?

另外,哪个wsgi中间件或补间最符合apache + mod_wsgi?

谢谢

python middleware tween pyramid

3
推荐指数
1
解决办法
665
查看次数

这种使用线程池与龙卷风的风格好吗?

所以我在我的类中创建了一个名为executor的类变量

executor = ThreadPoolExecutor(100)
Run Code Online (Sandbox Code Playgroud)

而不是拥有函数和方法并使用装饰器,我只是使用以下行来处理我的异步方法中的阻塞任务(如io和哈希创建和......)

result = await to_tornado_future(self.executor.submit(blocking_method, param1, param2)
Run Code Online (Sandbox Code Playgroud)

我决定使用这种风格的原因

1-装饰者性质较慢

2-不需要额外的方法和功能

3-它按预期工作,并在需要之前不创建线程

我对吗 ?请使用原因(我想知道我使用的方式,更慢或使用更多资源或......)

更新

基于Ben回答,我的上述方法不正确所以我最终根据需要使用了以下功能,我认为这是最好的方法

def pool(pool_executor, fn, *args, **kwargs):
    new_future = Future()
    result_future = pool_executor.submit(fn, *args, **kwargs)
    result_future.add_done_callback(lambda f: new_future.set_result(f.result()))
    return new_future
Run Code Online (Sandbox Code Playgroud)

用法:

result = await pool(self.executor, time.sleep, 3)
Run Code Online (Sandbox Code Playgroud)

python multithreading tornado python-3.x python-asyncio

3
推荐指数
1
解决办法
693
查看次数

RethinkDB分片和副本与MongoDB分片和副本集

在MongoDB中,如果你想说有一个带有副本集的3个分片,你最终需要为生产使用最少7个服务器(每个分片2个高可用性+ 1个仲裁者).

在RethinkDB中,就集群架构和设计而言,我找不到一些等效或良好的sugestions.

欢迎任何帮助.

rethinkdb

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