小编tem*_*mmo的帖子

将逗号分隔的数字列表压缩到范围中

我正在寻找一种聪明的方法来执行以下操作:

列出一个数字列表:

1,2,3,4,5,12,13,14,19

并将其压缩成一个字符串,如下所示:

1-5,12-14,19

使用以下规则:当范围中的数字计数为3或更多时,仅压缩到范围(即使用破折号).

即:1,2,4,5将导致:1,2,4,5和NOT:1-2,4-5

java arrays range java-8 java-stream

9
推荐指数
2
解决办法
1623
查看次数

在venv中使用python2.7,其中python3是默认python

我的机器上有 python2.7、python3.7、python3.6。我仍然不确定如何管理和查看所有三个 python 版本的位置。

目前,我只需输入带有版本名称的 python 即可打开该终端或运行脚本。

我默认使用 python3.6 在~/.bashrc.

我已经使用 python3.6 安装了 virtualenv,因此每当我默认创建 venc 时,它都会使用 python3.6。

要使用 python2.7 创建 venv 我尝试过 -

virtualenv -p /usr/bin/python2.7 /Users/karim/Documents/venv2.7

但在这个 venv2.7 中,当我看到它给出的 python 版本时3.6。当我在终端中输入 python2.7 时,它会打开 python2.7。

我可以在虚拟环境中为 python2.7 做别名,但我怀疑这也可能在 venv 之外创建 python2.7 默认值。

  1. 如何创建默认使用python2.7的虚拟环境?
  2. 你能给我推荐一篇解释如何管理多个 python 版本、从一个版本切换到另一个版本的文章吗?

我确实检查了所有 SO 线程,但没有文章帮助我在默认为 python3.6 的系统中使用 python2.7 创建 venv。

python ubuntu virtualenv python-2.7 python-3.x

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

从python中的字符串变量中仅提取月份

['2019-02-18T00:00:00', '2019-03-28T00:00:00', '2019-02-01T00:00:00', '2019-08-01T00:00:00', '2019-02-20T00:00:00']
Run Code Online (Sandbox Code Playgroud)

我想只提取此列表中的月份值,并将结果放在另一个列表中以获得此输出: ['02', '03', '02', '08', '02']

python python-3.x

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

为什么将int()的基值限制在36到2之间

我发现当我在python中运行以下表达式时

int(33, base=100)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ValueError: int() base must be >= 2 and <= 36, or 0
Run Code Online (Sandbox Code Playgroud)

我对此限制没有任何解释;关于相同错误消息的另一个堆栈溢出问题没有提到为什么基本参数限制为该范围。

python int base

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

跳过Openpxyl中的第一行

嗨,我有以下代码

wb_obj = openpyxl.load_workbook(path, data_only=True) 
worksheet = wb_obj.get_sheet_by_name('Sheet1')

for row_cells in worksheet.iter_rows():
    for cell in row_cells:
       print('%s: cell.value=%s' % (cell, cell.value) )
Run Code Online (Sandbox Code Playgroud)

它运作良好。但是,我不需要它来显示第一行即标题行的数据。如何更改查询以排除第一行?

python openpyxl

0
推荐指数
2
解决办法
926
查看次数