Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。


6
如何访问Django模板中的用户个人资料?
我正在使用来存储一些其他的每用户信息AUTH_PROFILE_MODULE。 我们可以使用Django模板访问用户,{{ request.user }}但是由于只能通过函数访问配置文件,因此如何访问配置文件中的字段user.get_profile()? 确实需要每次将配置文件显式传递到模板中吗?


2
python中的str性能
在分析一段python代码(python 2.6最多3.2)时,我发现 str将对象(在我的情况下为整数)转换为字符串的方法比使用字符串格式化慢了一个数量级。 这是基准 >>> from timeit import Timer >>> Timer('str(100000)').timeit() 0.3145311339386332 >>> Timer('"%s"%100000').timeit() 0.03803517023435887 有谁知道为什么会这样吗?我想念什么吗?

3
为什么使用sys.path.append(path)代替sys.path.insert(1,path)?
编辑:根据Ulf Rompe的评论,重要的是使用“ 1”而不是“ 0”,否则将破坏sys.path。 我已经使用Python已有一段时间了(一年多了),而对于人们为什么建议您使用sys.path.append()而不是python,我一直感到困惑sys.path.insert()。让我示范一下。 假设我正在开发一个名为PyWorkbooks的模块(该模块已安装在我的计算机上),但同时我正在开发另一个包含PyWorkbooks的模块(例如PyJob)。当我在PyJob上工作时,我在PyWorkbooks中发现了我要纠正的错误,因此我想导入一个开发版本。 有两种方法可以同时使用这两种方法(例如,我可以将PyWorkbooks项目放置在PyJob内),但是有时我仍然需要遵循这条路。但是,我不能简单地对sys.path.append()PyWorkbooks所在的文件夹执行a。为什么?因为python会先找到我安装的PyWorkbooks! 这就是为什么您必须执行sys.path.insert(1,path_to_dev_pyworkbooks)的原因 综上所述: sys.path.append(path_to_dev_pyworkbooks) import PyWorkbooks # does NOT import dev pyworkbooks, imports installed one 要么: sys.path.insert(1, path_to_dev_pyworkbooks) # based on comments you should use **1 not 0** import PyWorkbooks # imports correct file 过去这给我带来了一些麻烦,如果我们(作为一个社区)开始推荐sys.path.insert(1, path),我真的很喜欢,就像您手动插入路径一样,我认为可以肯定地说这就是您想要的路径使用! 还是我有什么问题?这个问题有时会困扰我,我想在户外公开询问!



2
推荐哪种绘制方式:matplotlib或pylab?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 我看到我可以使用以下任一方法在Python中进行绘图: import matplotlib matplotlib.pyplot.plot(...) 要么: import pylab pylab.plot(...) 两者都使用相同的matplotlib绘图代码。 那么,Matplotlib开发人员/文档当前建议使用哪种方法作为更好的绘图方法?为什么?

7
在python中安装lxml模块
在运行python脚本时,出现此错误 from lxml import etree ImportError: No module named lxml 现在我尝试安装lxml sudo easy_install lmxl 但这给了我以下错误 Building lxml version 2.3.beta1. NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' needs to be available. ERROR: /bin/sh: xslt-config: not found ** make sure the development packages of libxml2 and libxslt are installed ** 使用libxslt的构建配置 …

21
用Pythonic方式以交替方式合并两个列表的方法?
我有两个列表,其中第一个肯定比第二个多包含一个项目。我想知道最Python方式创建一个新列表,该列表的偶数索引值来自第一个列表,其奇数索引值来自第二个列表。 # example inputs list1 = ['f', 'o', 'o'] list2 = ['hello', 'world'] # desired output ['f', 'hello', 'o', 'world', 'o'] 这可行,但不是很漂亮: list3 = [] while True: try: list3.append(list1.pop(0)) list3.append(list2.pop(0)) except IndexError: break 还有什么可以实现的呢?最Python化的方法是什么?
88 python 

4
迭代字符串的时间复杂性实际上是O(n ^ 2)还是O(n)?
我正在处理CTCI之外的问题。 第1章的第三个问题是您采用了诸如 'Mr John Smith ' 并要求您将中介空间替换为%20: 'Mr%20John%20Smith' 作者使用Python提供了此解决方案,称其为O(n): def urlify(string, length): '''function replaces single spaces with %20 and removes trailing spaces''' counter = 0 output = '' for char in string: counter += 1 if counter > length: return output elif char == ' ': output = output + …

3
如何从Flask @ app.route打印到python控制台
我想在用户/ button被调用后,简单地将“ hello world”打印到python控制台。 这是我的幼稚方法: @app.route('/button/') def button_clicked(): print 'Hello world!' return redirect('/') 背景:我想从flask(而不是shell)执行其他python命令。“打印”应该是最简单的情况。我相信我对这里的基本理解还不了解。提前致谢!
88 python  flask 

6
在多处理进程之间共享大型只读的Numpy数组
我有一个60GB的SciPy阵列(矩阵),必须在5个以上的multiprocessing Process对象之间共享。我看过numpy-sharedmem并在SciPy列表上阅读了此讨论。似乎有两种方法numpy-sharedmem-使用amultiprocessing.RawArray()和将NumPy dtypes映射到ctypes。现在,这numpy-sharedmem似乎是要走的路,但是我还没有看到一个很好的参考示例。我不需要任何类型的锁,因为数组(实际上是矩阵)将是只读的。现在,由于它的大小,我想避免复制。这听起来像是正确的方法是创建唯一的数组作为副本sharedmem数组,然后将它传递给Process对象?几个特定的​​问题: 实际将sharedmem句柄传递给子对象的最佳方法是Process()什么?我是否需要一个队列来传递一个数组?管道会更好吗?我可以仅将它作为参数传递给Process()子类的init(我假设它是被腌制的)吗? 在上面链接的讨论中,提到numpy-sharedmem不是64位安全的吗?我肯定使用了一些不是32位可寻址的结构。 该RawArray()方法是否需要权衡?慢一点,孩子吗? numpy-sharedmem方法是否需要任何ctype到dtype的映射? 有没有人举一些开源代码的例子呢?我是一个非常动手的知识,如果没有任何好的榜样,很难使它成功。 如果有任何其他我可以提供的信息,以帮助其他人进行澄清,请发表评论,然后添加。谢谢! 这需要在Ubuntu Linux和Maybe Mac OS上运行,但是可移植性并不是一个大问题。


6
删除numpy数组中的行
我有一个可能看起来像这样的数组: ANOVAInputMatrixValuesArray = [[ 0.96488889, 0.73641667, 0.67521429, 0.592875, 0.53172222], [ 0.78008333, 0.5938125, 0.481, 0.39883333, 0.]] 请注意,其中一行的结尾处为零。我想删除任何包含零的行,而保留所有包含非零值的行。 但是,每次填充时,数组将具有不同的行数,并且零将每次位于不同的行中。 我使用下面的代码行获取每行中非零元素的数量: NumNonzeroElementsInRows = (ANOVAInputMatrixValuesArray != 0).sum(1) 对于上面的数组,NumNonzeroElementsInRows包含:[5 4] 五个表示第0行中的所有可能值都不为零,而四个表示第1行中的可能值之一为零。 因此,我试图使用以下代码行来查找和删除包含零值的行。 for q in range(len(NumNonzeroElementsInRows)): if NumNonzeroElementsInRows[q] < NumNonzeroElementsInRows.max(): p.delete(ANOVAInputMatrixValuesArray, q, axis=0) 但是由于某种原因,即使执行大量打印命令表明所有变量似乎都正确填充了代码,该代码似乎也无能为力。 必须有一些简单的方法来简单地“删除包含零值的任何行”。 谁能告诉我要编写什么代码来完成此任务?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.