Questions tagged «python»

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

6
稀疏的3D矩阵/数组在Python中?
在scipy中,我们可以使用scipy.sparse.lil_matrix()等构造一个稀疏矩阵。但是该矩阵是二维的。 我想知道Python中是否存在稀疏3d矩阵/数组(张量)的数据结构? ps我在3d中有很多稀疏数据,需要张量来存储/执行乘法。如果没有现有的数据结构,是否有实现此类张量的建议?

9
如何使用缩进将HTML漂亮地打印到文件
我正在使用lxml.html生成一些HTML。我想将最终结果漂亮地打印(带有缩进)到html文件中。我怎么做? 这是我迄今为止一直尝试并得到的(我对Python和lxml还是比较陌生的): import lxml.html as lh from lxml.html import builder as E sliderRoot=lh.Element("div", E.CLASS("scroll"), style="overflow-x: hidden; overflow-y: hidden;") scrollContainer=lh.Element("div", E.CLASS("scrollContainer"), style="width: 4340px;") sliderRoot.append(scrollContainer) print lh.tostring(sliderRoot, pretty_print = True, method="html") 如您所见,我正在使用该pretty_print=True属性。我以为可以缩进代码,但这并没有真正的帮助。这是输出: <div style="overflow-x: hidden; overflow-y: hidden;" class="scroll"><div style="width: 4340px;" class="scrollContainer"></div></div>

2
PANDAS绘制多个Y轴
我知道熊猫支持次要Y轴,但我很好奇是否有人知道将三次Y轴放置在地块上的方法...目前,我正在使用numpy + pyplot来实现这一点...但是对于大数据集来说它的速度很慢。 这是为了在同一张图上绘制具有不同单位的不同测量值以便于比较(例如,相对湿度/温度/和电导率) 所以真的很好奇是否有人在pandas没有太多工作的情况下就能做到这一点。 [编辑]我怀疑是否有办法做到这一点(没有太多的开销),但是我希望被证明是错误的,这可能是matplotlib的局限性...
73 python  pandas 

1
阻塞和非阻塞子流程调用
我之间是完全混淆subprocess.call(),subprocess.Popen(),subprocess.check_call()。 哪个是阻塞的,哪个不是? 我的意思是说我subprocess.Popen()是否使用父进程是否等待子进程继续执行之前return/ exit。 如何shell=True影响这些电话?

3
使用self.xxxx作为默认参数-Python
我正在尝试简化我的作业问题之一,并使代码更好一点。我正在使用的是二进制搜索树。现在,我的Tree()班级中有一个函数可以查找所有元素并将它们放入列表中。 tree = Tree() #insert a bunch of items into tree 然后我使用makeList()函数从树中取出所有节点,并将它们放入列表中。要调用该makeList()函数,我要做tree.makeList(tree.root)。对我来说,这似乎有些重复。我已经用调用了树对象,tree.所以tree.root只是浪费了一点输入。 现在,makeList函数为: def makeList(self, aNode): if aNode is None: return [] return [aNode.data] + self.makeList(aNode.lChild) + self.makeList(aNode.rChild) 我想使aNode输入一个默认参数,例如aNode = self.root(它不起作用),这样我就可以用来运行该函数tree.makeList()。 第一个问题是,为什么这样不起作用? 第二个问题是,有没有一种方法可以起作用?如您所见,该makeList()函数是递归的,因此我无法在该函数的开头定义任何内容,否则会遇到无限循环。 编辑 这是所有要求的代码: class Node(object): def __init__(self, data): self.data = data self.lChild = None self.rChild = None class …



5
为正则表达式编写解析器
即使经过多年的编程,我还是很to愧地说我从未真正完全掌握过正则表达式。通常,当问题需要使用正则表达式时,我通常可以(在一堆引用语法之后)提出一个合适的表达式,但这是我发现自己使用频率越来越高的一种技术。 因此,为了自学并正确理解正则表达式,我决定做一些尝试学习的事情;即,尝试写一些雄心勃勃的东西,一旦我学到了足够的东西,我可能会放弃。 为此,我想用Python编写一个正则表达式解析器。在这种情况下,“足够了解”意味着我想实现一个解析器,该解析器可以完全理解Perl的扩展正则表达式语法。但是,它不一定是最有效的解析器,甚至不一定在现实世界中可用。它仅必须正确匹配或不匹配字符串中的模式。 问题是,我从哪里开始?除了正则表达式在某种程度上涉及有限状态自动机,我几乎对正则表达式的解析和解释一无所知。对于如何解决这个相当艰巨的问题的任何建议将不胜感激。 编辑:我应该澄清一下,尽管我将在Python中实现正则表达式解析器,但我并没有对示例或文章所使用的编程语言感到过分困惑。只要不在Brainfuck中,我可能就足够理解了它使它值得我的时间。
73 python  regex  parsing 

4
垂直连接两个NumPy数组
我尝试了以下方法: >>> a = np.array([1,2,3]) >>> b = np.array([4,5,6]) >>> np.concatenate((a,b), axis=0) array([1, 2, 3, 4, 5, 6]) >>> np.concatenate((a,b), axis=1) array([1, 2, 3, 4, 5, 6]) 但是,我希望至少有一个结果像这样 array([[1, 2, 3], [4, 5, 6]]) 为什么它不是垂直连接的?




4
将额外的参数传递给Django Rest Framework中的Serializer类
我想将一些参数从Viewset传递给DRF Serializer类,因此我已经尝试过: class OneZeroSerializer(rest_serializer.ModelSerializer): def __init__(self, *args, **kwargs): print args # show values that passed location = rest_serializer.SerializerMethodField('get_alternate_name') def get_alternate_name(self, obj): return '' class Meta: model = OneZero fields = ('id', 'location') 观看次数 class OneZeroViewSet(viewsets.ModelViewSet): serializer_class = OneZeroSerializer(realpart=1) #serializer_class = OneZeroSerializer queryset = OneZero.objects.all() 基本上,我想将基于查询字符串的一些值从视图传递给Serializer类,然后将这些分配给字段。 这些字段实际上不包含在“模型”中,而是动态创建的字段。 这个问题stackoverflow中的情况相同,但我无法理解答案。 在这种情况下,任何人都可以帮助我或为我提供更好的选择。


8
检查Python Selenium是否存在元素
我有一个问题-我正在使用Selenium(firefox)Web驱动程序打开网页,单击一些链接等,然后捕获屏幕截图。 我的脚本可以从CLI正常运行,但是通过cronjob运行时,它并没有通过第一个find_element()测试。我需要添加一些调试,或一些帮助我弄清为什么失败的东西。 基本上,我必须先单击“登录”锚点,然后才能进入登录页面。元素的构造为: <a class="lnk" rel="nofollow" href="/login.jsp?destination=/secure/Dash.jspa">log in</a> 我正在通过LINK_TEXT方法使用find_element: login = driver.find_element(By.LINK_TEXT, "log in").click() 我有点Python Noob,所以我在和这种语言作斗争... A)如何检查链接是否已被python实际拾取?我应该使用try / catch块吗? B)是否有比LINK_TEXT更好/更可靠的方法来定位DOM元素?例如,在JQuery中,可以使用更具体的选择器$('a.lnk:contains(login)')。do_something(); 我已经解决了主要问题,这只是手指问题-我用错误的参数调用脚本-简单的错误。 我仍然想要一些有关如何检查元素是否存在的指针。同样,使用隐式/显式Waits的示例/解释,而不是使用糟糕的time.sleep()调用。 干杯,ns

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.