我正在寻找一种聪明的方法来执行以下操作:
列出一个数字列表:
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
我的机器上有 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 默认值。
我确实检查了所有 SO 线程,但没有文章帮助我在默认为 python3.6 的系统中使用 python2.7 创建 venv。
['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中运行以下表达式时
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)
我对此限制没有任何解释;关于相同错误消息的另一个堆栈溢出问题没有提到为什么基本参数限制为该范围。
嗨,我有以下代码
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 ×4
python-3.x ×2
arrays ×1
base ×1
int ×1
java ×1
java-8 ×1
java-stream ×1
openpyxl ×1
python-2.7 ×1
range ×1
ubuntu ×1
virtualenv ×1