小编qua*_*ana的帖子

我想使用 python 从字符串中替换子字符串的交替出现

我有一个字符串。我想用新的子字符串替换每个备用子字符串,以便在下面的字符串中第 1 次和第 3 次出现的xx应该更改为rr.

#------------------------------------------------------ 
import re
str1="abcxxhghxxjjhxxjjhj"
cnt=0
for i in re.finditer("xx",str1):
    cnt=cnt+1    
    if cnt%2!=0:
        print(cnt)
        l=i.span()[0]
        m=i.span()[1]
        print(l,m)
        str1=re.sub(str1[l:m],"rr",str1)
    
print(str1)
Run Code Online (Sandbox Code Playgroud)

预期输出: abcrrhghxxjjhrrjjhj

python string

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

如何在 for 循环中加速?如何提高代码的性能?

我想提高我的代码的性能。我之前按照建议尝试了几种方法,但是我的代码速度仍然很慢。我可以做什么而不是尝试我尝试过的方式?

我的代码在这里:

matched_word = []
for w in word_list:
    for str_ in dictionary:
        if str_ == w:
            matched_word.append(str_)
Run Code Online (Sandbox Code Playgroud)

这里有一些参考点:

  • 首先word_list的长度是160000,dictionary的长度大约是200000。
  • 其次,我不能使用一组 word_list,因为我想制作一个matched_word包含重复词( 的元素word_list)的列表 ( )。
  • 第三,以下代码仍然运行缓慢。
import collections
matched_word = collections.deque
for w in dictionary:
    if w in word_list:
        matched_word.append(w)
Run Code Online (Sandbox Code Playgroud)
  • 第四,下面的代码仍然运行缓慢。
matched_word = [w for w in word_list if w in dictionary]
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助。(也感谢所有之前提供建议的人。)

python performance for-loop

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

C++网络简单发送和接收

我正在尝试将10台计算机连接在一起,我想编写的程序将有一台"控制"计算机.从我看到的这台计算机将采取通过网络发送的所有数据包并与他们回应...对吗?其他计算机需要能够发送信息(然后回显给其他人)到'控制'......有一个简单!简单的方法来做到这一点?从我看到的我想要一个非阻塞套接字?

我已经研究过套接字等,但对于像我这样的业余程序员来说,这似乎是一项艰巨的任务:)

我很善于寻找具有send()事件和事件驱动力的简单类意蕴recv().

我不会通过网络发送那么多信息.

c++ networking network-programming

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

复制构造函数

复制构造函数的想法真让我困惑.我不明白为什么他们使用引用和为什么复制构造函数中的常量引用?

c++ copy-constructor

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

检测指针是否指向......的方法,究竟在哪里?

char* cc = "Something string like";
char* ccn = new char[2];
ccn[0] = 'a';
ccn[1] = '\0';
cout << cc;
Run Code Online (Sandbox Code Playgroud)

第二个指针,为了防止内存泄漏,应该是delete[]'但是如何检测指针是否实际指向新的内存(如第一行中的那个)?第一个字符串在哪里创建?

c++ pointers

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

初始化具有动态长度的矢量

你能告诉我如何将buf矢量的大小改成动态长度吗?

long five = 555;
char buf[256];
snprintf(buf, sizeof(buf), "%d", five); 
Run Code Online (Sandbox Code Playgroud)

谢谢!

如何更改我的代码std::vector<std::string>buf;才能正常工作?
我有错误:

vector不是std的成员;
buf未在此范围和错误中声明:在">"标记之前预期的primary-expression

c++ vector

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

为了在C++代码中使用std :: set,需要覆盖哪个运算符?

这是一个面试问题.

参考示例代码,需要覆盖哪个运算符才能使用 std::set<Value>

 #include<iostream>

 class Value
 {
      std::string   s_val;
      int           i_val;
  public:
      Value(std::string s, int i): s_val(s) , i_val(i){}
 };

 // EOF

 /*
 a       operator !=
 b       operator >
 c       operator <=
 d       operator >=
 e       operator <
 */
Run Code Online (Sandbox Code Playgroud)

实际上,我不明白为什么需要在这里覆盖运营商."set"不允许重复的元素,也许运算符!=需要被覆盖?

c++ overriding class set

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

我是否必须在public static void main中使用名称args(String args [])

我是Java新手,我正在学习它.我对这个陈述有疑问

public static void main(String args[])
Run Code Online (Sandbox Code Playgroud)

我完全理解这意味着什么.我的问题是关于这个String args[]部分.

String args[]声明了方法中的参数main()命名args其为类的实例的数组String.

那么我可以用任何东西代替args[]吗?喜欢String pqrs[]或者String abc[]我必须args[]用作关键字吗?

我只是想知道这是如何工作的?

java class object

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

std :: for_each()和调用构造函数/析构函数

我有问题使用 for_each()在每个元素上和调用构造函数/析构函数时.

作为参考,mBegin指向数组的开头,mEnd超出最后一个元素,mCapacity指向已分配内存的结尾.

template <typename T>
void IDMapTree<T>::Grow()
{
    const size_t prevSize = mCapacity - mBegin;
    const size_t newSize = prevSize != 0 ? static_cast<size_t>(1.5f * prevSize) : 1;
    T* newBuffer = static_cast<T*>(mAllocator.Allocate(newSize));

    // initialize new buffer elements with copy constructor using old elements
    uint32_t itemIndex = 0;
    std::for_each(newBuffer, newBuffer + prevSize, [&](T& item) { item.T(*(mBegin + itemIndex++)); });
    // destruct all old elements
    std::for_each(mBegin, mEnd, [](T& item) { item.~T(); });


    // ... …
Run Code Online (Sandbox Code Playgroud)

c++ stl c++11

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

从同一类的另一个私有函数调用私有函数

我可以从同一个类的另一个私有函数调用私有函数吗,例如:

Class A {
public: 
  double a; 
  double b; 
  wp(a , b);

private: 
   wp1(x);
   wp2(y);
};
A::wp(a,b){
  a = wp1(x);
}
A::wp1(x){
  x = wp2(y); }
Run Code Online (Sandbox Code Playgroud)

我知道为了访问私有函数,您需要从公共函数调用它们,但是我可以从同一个类的其他私有函数调用私有函数吗?

c++ class

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