小编Jac*_*nte的帖子

尝试在正则表达式中转义括号时收到 PEP8“无效转义序列”警告

我正在尝试转义这样的字符串:

string = re.split(")(", other_string)
Run Code Online (Sandbox Code Playgroud)

因为不转义这些括号会给我一个错误。但如果我这样做:

string = re.split("\)\(", other_string)
Run Code Online (Sandbox Code Playgroud)

我收到来自 PEP8 的警告,说这是一个无效的转义序列。有没有办法正确地做到这一点?

将 'r' 放在字符串前面并不能修复它。

python regex pep8 python-re

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

使用操作测试通过后自动合并?

我想知道是否可以使用 GitHub Actions 在测试通过后自动合并分支。

我们有两个分支,“测试”和“主”。每次合并或推送到“测试”后,我们都会设置一个工作流程来运行测试。

是否可以让 GitHub 在测试完成后自动合并“test”->“main”,并且只有在测试成功完成时才进行合并?

git automation github git-merge github-actions

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

在Python中捕获PyCharm停止信号

我想尝试在 try 块中捕获 PyCharm 的停止信号(当按下停止时),但我无法弄清楚这个信号是什么或如何在代码中捕获它。JetBrains 并未在其文档中提供对此的深入了解。

我尝试过捕获它,BaseException但它似乎根本不是例外。

这是可以通过编程捕获的吗?

python debugging exception pycharm

5
推荐指数
2
解决办法
1061
查看次数

取代Python的解析器功能?

首先我想说,我知道这是一个可怕的想法,不应该这样做。我的目的主要是好奇和学习 Python 的内部结构,以及如何“破解”它们。

我想知道是否有可能改变当我们使用[]创建列表时发生的情况。有没有一种方法可以修改解析器的行为方式,例如,导致["hello world"]调用print("hello world")而不是创建一个包含一个元素的列表?

我试图找到与此相关的任何文档或帖子,但未能成功。

下面是替换内置字典以使用自定义类的示例:

from __future__ import annotations
from typing import List, Any
import builtins


class Dict(dict):

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.__dict__ = self

    def subset(self, keys: List[Any]) -> Dict:
        return Dict({key: self[key] for key in keys})


builtins.dict = Dict
Run Code Online (Sandbox Code Playgroud)

当导入此模块时,它将dict用类替换内置模块Dict。然而,这仅在我们直接调用时才有效dict()。如果我们尝试使用{}它将回退到基本的dict内置实现:

import new_dict

a = dict({'a': 5, 'b': 8})
b = {'a': 5, 'b': 8}

print(type(a))
print(type(b))
Run Code Online (Sandbox Code Playgroud)

产量: …

python built-in

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

迭代两个相关 ArrayList 的有效方法?

我正在寻找一种干净简单的方法来迭代两个直接相关的 ArrayList,因为一个的每个索引映射到另一个(关系)的索引。

目前,我通过一个简单的for循环来完成它,我尝试研究 lambdas 和for-each循环,但没有看到将它同时应用于两个大小相同的列表的方法。

第一个列表: ["Blue", "Red", "Green"]

第二个列表: ["Sky", "Roses", "Grass"]

for(int i = 0; i < firstList.size(); i++){
    System.out.println(firstList.get(i) + " " + secondList.get(i));
}
Run Code Online (Sandbox Code Playgroud)

结果:

Blue Sky
Red Roses
Green Grass
Run Code Online (Sandbox Code Playgroud)

有没有办法使用 lambda 或for-each循环同时有效地迭代两个列表以避免使用for循环?

java collections loops list

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

如何在 C++ 17 中使用变量正确格式化输出字符串?

我想知道将字符串输出到带有变量的控制台的有效且智能的方法是什么。我知道在 C++20 中有 std::format 使这变得容易,但我不确定 C++17。

例如,它可以在 C++20 中完成:

#include <iostream>
#include <string>
#inclide <format>

int main(){

    int a = 13;
    int b = 50;
    std::string out_str = std::format("The respondents of the survey were {}-{} years old.", a, b);

    std::cout << out_str << std::endl;

    return EXIT_SUCCESS;

}
Run Code Online (Sandbox Code Playgroud)

有没有一种类似于上面 C++17 示例的好方法? .. 或者我是否只需要将字符串和变量的不同部分分开?

c++ iostream cout c++17

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

在 C++17 中初始化整数向量的向量

我尝试使用以下线程中的解决方案在具有固定大小的类中创建向量向量,但无济于事。使用 boost 分配初始化具有固定大小的向量的向量

由于它已有 7 年历史,我认为这可能与 C++17 的变化有关,但我不确定问题出在哪里。IDE 告诉我的错误是第一个参数上的“预期类型说明符”。查看构造函数的文档,似乎没有什么问题,除非我错过了一些东西。

class SudokuSolver {

public:
    SudokuSolver() {}

    ~SudokuSolver() {}

private:
    std::vector<std::vector<int>> sudoku_field(9, std::vector<int>(9, 0));
};
Run Code Online (Sandbox Code Playgroud)

c++ stdvector c++17

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