Extended slice that goes to beginning of sequence with negative stride

Bear with me while I explain my question. Skip down to the bold heading if you already understand extended slice list indexing. In python, you can index lists using slice notation. Here's an example: >>> A = list(range(10)) >>> A[0:5] [0, 1, 2, 3, 4] You can also include a stride, which acts like a "step": >>> A[0:5:2] [0, 2, 4] The stride is also

带有负跨度的序列开始处的扩展切片

在解释我的问题的同时忍受我。 如果您已了解扩展切片列表索引,请跳至粗体标题。 在python中,你可以使用切片符号来索引列表。 这是一个例子: >>> A = list(range(10)) >>> A[0:5] [0, 1, 2, 3, 4] 你也可以包含一个步幅,这就像一个“步骤”: >>> A[0:5:2] [0, 2, 4] 步幅也被允许为负数,这意味着元素以相反的顺序被检索: >>> A[5:0:-1] [5, 4, 3, 2, 1] 可是等等! 我想看看

How to make a copy of a 2D array in Python?

This question already has an answer here: Copying nested lists in Python 2 answers How to clone or copy a list? 17 answers Try this: from copy import copy, deepcopy y = deepcopy(x) I'm not sure, maybe copy() is sufficient. Using deepcopy() or copy() is a good solution. For a simple 2D-array case y = [row[:] for row in x] 对于二维数组,可以使用映射函数: old_array = [[2, 3], [4, 5

如何在Python中制作二维数组的副本?

这个问题在这里已经有了答案: 在Python 2中复制嵌套列表的答案 如何克隆或复制列表? 17个答案 尝试这个: from copy import copy, deepcopy y = deepcopy(x) 我不确定,也许copy()就足够了。 使用deepcopy()或copy()是一个很好的解决方案。 对于简单的二维数组的情况 y = [row[:] for row in x] 对于二维数组,可以使用映射函数: old_array = [[2, 3], [4, 5]] # python2.* new_array = map(list, old_array)

How do I install pip on macOS or OS X?

I spent most of the day yesterday searching for a clear answer for installing pip (package manager for Python). I can't find a good solution. How do I install it? 你所需要做的就是sudo easy_install pip You can install it through Homebrew on OS X. Why would you install Python with Homebrew? The version of Python that ships with OS X is great for learning but it's not good for develop

我如何在macOS或OS X上安装点子?

我昨天大部分时间都在寻找安装pip (Python包管理器)的明确答案。 我找不到一个好的解决方案。 我如何安装它? 你所需要做的就是sudo easy_install pip 你可以通过Homebrew在OS X上安装它。你为什么要用Homebrew安装Python? OS X附带的Python版本对于学习非常有用,但对开发并不好。 随OS X附带的版本可能会从官方当前的Python版本中过时,这被认为是稳定的生产版本。 (资源) Homebrew是OS X的包管理器。在Homebr

Find which version of package is installed with pip

Using pip, is it possible to figure out which version of a package is currently installed? I know about pip install XYZ --upgrade but I am wondering if there is anything like pip info XYZ . If not what would be the best way to tell what version I am currently using. As of pip 1.3, there is a pip show command. $ pip show Jinja2 --- Name: Jinja2 Version: 2.7.3 Location: /path/to/virtualenv/li

用pip查找安装哪个版本的软件包

使用pip,是否可以确定当前安装了哪个版本的软件包? 我知道pip install XYZ --upgrade但我想知道是否有像pip info XYZ这样的东西。 如果不是,那么告诉我目前使用哪个版本的最好方法是什么。 从点1.3开始,有一个pip show命令。 $ pip show Jinja2 --- Name: Jinja2 Version: 2.7.3 Location: /path/to/virtualenv/lib/python2.7/site-packages Requires: markupsafe 在较早的版本中, pip freeze和grep应该很好地完成这

Find all packages installed with easy

Is there a way to find all Python PyPI packages that were installed with easy_install or pip? I mean, excluding everything that was/is installed with the distributions tools (in this case apt-get on Debian). pip freeze will output a list of installed packages and their versions. It also allows you to write those packages to a file that can later be used to set up a new environment. https://

查找所有安装简单的软件包

有没有办法找到所有通过easy_install或pip安装的Python PyPI包? 我的意思是,排除使用发行版工具安装的所有内容(在本例中为Debian上的apt-get)。 pip freeze将输出已安装软件包及其版本的列表。 它还允许你将这些软件包写入一个文件,以后可以用来建立一个新的环境。 https://pip.pypa.io/en/stable/reference/pip_freeze/#pip-freeze 从pip版本1.3开始,您现在可以使用pip list 它有一些有用的选项,包括显示过时

Installing specific package versions with pip

I'm trying to install version 1.2.2 of the MySQL_python adaptor, using a fresh virtualenv created with the --no-site-packages option. The current version shown in PyPi is 1.2.3. Is there a way to install the older version? I found an article stating that this should do it: pip install MySQL_python==1.2.2 When installed, however, it still shows MySQL_python-1.2.3-py2.6.egg-info in the sit

用pip安装特定的软件包版本

我正在尝试使用使用--no-site-packages选项创建的全新virtualenv来安装MySQL_python适配器的1.2.2版。 PyPi中显示的当前版本是1.2.3。 有没有办法安装旧版本? 我发现一篇文章说明这应该做到这一点: pip install MySQL_python==1.2.2 但是,在安装时,它仍然在站点包中显示MySQL_python-1.2.3-py2.6.egg-info。 这是这个包的具体问题,还是我做错了什么? 首先,我看到你想要做的两件事。 由于您已经安装了版本,您应

Upgrading all packages with pip

Is it possible to upgrade all Python packages at one time with pip ? Note that there is a feature request for this on the official issue tracker. There isn't a built-in flag yet, but you can use pip freeze --local | grep -v '^-e' | cut -d = -f 1 | xargs -n1 pip install -U Note: there are infinite potential variations for this. I'm trying to keep this answer short and simple, but p

用pip升级所有软件包

是否可以一次性用pip升级所有Python包? 请注意,在官方问题跟踪器上有这项功能请求。 目前还没有内置标志,但可以使用 pip freeze --local | grep -v '^-e' | cut -d = -f 1 | xargs -n1 pip install -U 注意:这里有无限的潜在变化。 我试图保持这个答案简短,但请建议在评论中的变化! 相关修改: 按照@jawache的建议(是的,您可以用sed或awk或perl或...替换grep + cut添加一个grep来跳过“-e”包定义。 较新版

Why use pip over easy

A tweet reads: Don't use easy_install, unless you like stabbing yourself in the face. Use pip. Why use pip over easy_install? Doesn't the fault lie with PyPI and package authors mostly? If an author uploads crap source tarball (eg: missing files, no setup.py) to PyPI, then both pip and easy_install will fail. Other than cosmetic differences, why do Python people (like in the above

为什么使用点子容易

推文如下: 不要使用easy_install,除非你喜欢在自己的脸上刺伤自己。 使用点子。 为什么使用pip over easy_install? PyPI和包装作者大部分都不会犯这个错误吗? 如果作者将垃圾源tarball(例如:缺少文件,无setup.py)上传到PyPI,则pip和easy_install都将失败。 除了表面上的差异,为什么Python人(比如上面的推文)似乎强烈支持easy_install点数? (让我们假设我们正在讨论由社区维护的Distribute包中的easy_ins

error: Unable to find vcvarsall.bat

I tried to install the Python package dulwich: pip install dulwich But I get a cryptic error message: error: Unable to find vcvarsall.bat The same happens if I try installing the package manually: > python setup.py install running build_ext building 'dulwich._objects' extension error: Unable to find vcvarsall.bat Update : Comments point out that the instructions here may be dangerous. C

错误:无法找到vcvarsall.bat

我试图安装Python包dulwich: pip install dulwich 但是我收到一条神秘的错误消息: error: Unable to find vcvarsall.bat 如果我尝试手动安装软件包,情况也会如此: > python setup.py install running build_ext building 'dulwich._objects' extension error: Unable to find vcvarsall.bat 更新 :评论指出,这里的说明可能是危险的。 考虑使用Visual C ++ 2008 Express版本或针对Python的专用Microsoft Visual C

Does Python have a package/module management system?

Does Python have a package/module management system, similar to how Ruby has rubygems where you can do gem install packagename ? On Installing Python Modules, I only see references to python setup.py install , but that requires you to find the package first. Recent progress March 2014 : Good news! Python 3.4 ships with Pip. Pip has long been Python's de-facto standard package manager.

Python是否有包/模块管理系统?

Python是否有一个包/模块管理系统,类似于Ruby如何在rubygems中执行gem install packagename ? 在安装Python模块时,我只能看到对python setup.py install引用,但这需要你先找到软件包。 最近的进展 2014年3月 :好消息! Python 3.4附带Pip。 皮普一直是Python事实上的标准包管理者。 你可以像这样安装一个包: pip install httpie Wahey! 这是任何Python版本的最佳功能。 它使每个人都可以访问社区的丰富图书