我有我的代码中的string列表; A = ['a1', 'a2', 'a3' …] B = ['b1', 'b2', 'b3' …] 我想用linebreak打印它们,就像这样: >a1 b1 >a2 b2 >a3 b3 我试过了: print '>' + A + '/n' + B 但/ n不被识别为换行符。
什么是有效的方法来检查Python中的string是否只包含一个字符,如'A' ? 类似all_equal(s, 'A')行为就像这样: all_equal("AAAAA", "A") = True all_equal("AAAAAAAAAAA", "A") = True all_equal("AAAAAfAAAAA", "A") = False 两种表面上效率低下的方法是:首先将string转换为列表并检查每个元素,或者使用正则expression式。 是否有更有效的方法,或者这些是Python中最好的方法? 谢谢。
如果fruits是['apples', 'oranges', 'pears'] 有没有使用Django模板标签生产“苹果,橘子和梨”的快速方法? 我知道用循环和{% if counter.last %}语句来做这件事并不困难,但是因为我要反复使用它,我想我将不得不学习如何编写自定义 标签 filter,我不想重新发明轮子,如果它已经完成。 作为延伸,我放弃牛津逗号 (即“苹果,橘子和梨”)的尝试更加混乱。
按照设置包之间Sphinx文档链接的文档,我已经添加了 intersphinx_mapping = {'python': ('http://docs.python.org/2', None), 'numpy': ('http://docs.scipy.org/doc/numpy/', None), 'scipy': ('http://docs.scipy.org/doc/scipy/reference/', None), 'matplotlib': ('http://matplotlib.sourceforge.net/', None)} 到我的conf.py ,但似乎无法获得除Python本身以外的任何项目的链接工作。 例如 :term:`svg graphics <matplotlib:svg>` 只是带我到索引页面,没有添加预期的#term-svg锚点,我什至不能findscipy词汇表或找出如何确定:ref: s或:term: s是由一个包支持。 我在哪里可以find如何在numpy , scipy和matplotlib为:ref: s和:term:指定目标的说明? 对于这个问题,我怎么链接到狮身人面像? 添加 intersphinx_mapping['sphinx'] = ('http://sphinx-doc.org/', None) 和 :ref:`Intersphinx <intersphinx>` 不起作用。
当我做一个“点安装-e …”从git仓库安装时,我必须指定#egg = somename或pip抱怨。 例如: pip install -e git://github.com/hiidef/oauth2app.git#egg=oauth2app 这个“蛋”串有什么意义?
令人惊讶的是,我发现启动比in : In [10]: s="ABCD"*10 In [11]: %timeit s.startswith("XYZ") 1000000 loops, best of 3: 307 ns per loop In [12]: %timeit "XYZ" in s 10000000 loops, best of 3: 81.7 ns per loop 众所周知, in操作中需要search整个string,并且只需要检查前几个字符,因此startswith应该更有效率。 当s足够大时,启动速度更快: In [13]: s="ABCD"*200 In [14]: %timeit s.startswith("XYZ") 1000000 loops, best of 3: 306 ns per loop In [15]: %timeit […]
这是一个经常以不同forms提出的问题,经常会得到“哈哈,你做得不好”的反应。 可以肯定的是,这是因为人们(包括我)试图用作实现的常识情况,解决scheme并不明显(如果以前没有这样做的话)。 会接受“让飞出瓶子”的答案。 特定 project/ __init__.py /code __init__.py sut.py /tests __init__.py test_sut.py tests_sut.py开始的地方: import code.sut 在根目录下运行nosetests导致: ImportError: No module named code.sut 途径: a)做一个相对的使用 from ..code import sut b)将项目的根添加到PYTHONPATH c)使用 sys.path.append 在每个testing模块开始时的导入之前添加..path。 d)只记得做一个 setup.py 在运行testing之前将模块安装到站点包中。 所以要求testing位于可以访问项目的testing包根目录下。 上面的每个人都不觉得“自然”,已经certificate有问题,或者看起来像太辛苦了! 在Java中,这个工作,但基本上是由你的构build工具/ IDE的所有类放在类path。 也许问题是我期待Python的“魔力”? 在Flask webframeworktesting中注意到,选项d)似乎是首选。 无论如何,下面推荐一个首选解决scheme的陈述将会消除我自己的“不自然”的感觉。
我从一个.csv文件读取数据到pandas数据框如下。 对于其中一列,即id ,我想指定列types为int 。 问题是id序列有缺失/空值。 当我试图在阅读.csv时将id列转换为整数时,我得到: df= pd.read_csv("data.csv", dtype={'id': int}) error: Integer column has NA values 另外,我试着转换列types后阅读如下,但这次我得到: df= pd.read_csv("data.csv") df[['id']] = df[['id']].astype(int) error: Cannot convert NA to integer 我该如何解决这个问题?
我很难find一个很好的,基本的例子,如何使用元素树在Python中parsingXML。 从我所能find的,这似乎是用于parsingXML的最简单的库。 以下是我正在使用的XML示例: <timeSeriesResponse> <queryInfo> <locationParam>01474500</locationParam> <variableParam>99988</variableParam> <timeParam> <beginDateTime>2009-09-24T15:15:55.271</beginDateTime> <endDateTime>2009-11-23T15:15:55.271</endDateTime> </timeParam> </queryInfo> <timeSeries name="NWIS Time Series Instantaneous Values"> <values count="2876"> <value dateTime="2009-09-24T15:30:00.000-04:00" qualifiers="P">550</value> <value dateTime="2009-09-24T16:00:00.000-04:00" qualifiers="P">419</value> <value dateTime="2009-09-24T16:30:00.000-04:00" qualifiers="P">370</value> ….. </values> </timeSeries> </timeSeriesResponse> 我能够用硬编码的方法做我所需要的。 但是我需要我的代码更有活力。 这是什么工作: tree = ET.parse(sample.xml) doc = tree.getroot() timeseries = doc[1] values = timeseries[2] print child.attrib['dateTime'], child.text #prints 2009-09-24T15:30:00.000-04:00, 550 以下是我尝试过的一些事情,他们都没有工作,报告他们找不到timeSeries(或其他我试过的): […]
我正在寻找什么types的代码将放在__init__.py文件和什么是与此有关的最佳做法。 或者,这是一个不好的做法? 任何参考已知的文件,解释这一点也非常感谢。