假设我有一个非常长的字符串,'ABCEEEEEEDEDAAA......'但它只由五个字母组成.说我希望所有人'A'都是'D',反之亦然,'B'并且'C'(和一个例子是DNA中的核苷酸......).修改后的例子是'DCBEEEEEEAEADDD.......我意识到代码就好像string.replace('A','D').replace('D','A')不行.我想知道什么是最快的方法,因为我遇到的另一种方法就是找到每个索引,看起来有点复杂.
我的代码从给定主机获取开放端口.这个过程非常耗时
代码:
for(int port=0;port<11;port++)
{
string statusTCP = "Open";
using (TcpClient tcp = new TcpClient())
{
try{ tcp.Connect("127.0.0.1",port);
}catch { statusTCP="Close";}
}
Console.WriteLine("Port " + port + " : " + statusTCP);
}
Run Code Online (Sandbox Code Playgroud)
这个过程对我来说需要11秒!如果我检查100或1000个端口,这是非常长的...
有什么好的和快速的方法吗?
我有一个名为 fajita 的美味空数组:
fajita = np.empty(2)
array([ 2.00000000e+00, 1.72723382e-77])
Run Code Online (Sandbox Code Playgroud)
当我使用:
np.insert(fajita,0,[2,2])
Run Code Online (Sandbox Code Playgroud)
我得到:
array([ 2.00000000e+00, 2.00000000e+00, 2.00000000e+00, 1.72723382e-77])
Run Code Online (Sandbox Code Playgroud)
这里的问题是我只想要插入的 2 个值,我不想保留空数组中的先前值。预期的输出应该是一个只插入了 2 个值的数组。就像是:
array([ 2.00000000e+00, 2.00000000e+00])
Run Code Online (Sandbox Code Playgroud) 在java中我只需要用一个单词替换一个数字,如果它不在"+"之前.例:
- match1
- match+1
Run Code Online (Sandbox Code Playgroud)
应该成为:
matchone
match+1 (no modify)
Run Code Online (Sandbox Code Playgroud)
我试过了
>>>name = name.replaceAll("([^+])1", "one");
matcone //required "matchone"
Run Code Online (Sandbox Code Playgroud)
但它没有用.有什么建议?
谢谢