我知道如何从法向量中提取子集,以及如何从另一个向量内的向量中提取子集。我现在的问题是如何提取另一个向量内的所有向量的子集。
例如:我在另一个向量中有三个向量:
std::vector<std::vector<int>> my_vec;
std::vector<int> vec_1{1,2,3,4,5};
std::vector<int> vec_2{11,12,13,14,15};
std::vector<int> vec_3{21,22,23,24,25};
my_vec.push_back(vec_1);
my_vec.push_back(vec_2);
my_vec.push_back(vec_3);
Run Code Online (Sandbox Code Playgroud)
我现在想做的是创建一个新向量,其中包含每个向量的第三个和第四个元素的子集。我试过这个:
#include<vector>
#include <iostream>
int main()
{
std::vector<std::vector<int>> my_vec;
std::vector<int> vec_1{1,2,3,4,5};
std::vector<int> vec_2{11,12,13,14,15};
std::vector<int> vec_3{21,22,23,24,25};
my_vec.push_back(vec_1);
my_vec.push_back(vec_2);
my_vec.push_back(vec_3);
// For a normal vector
std::vector<int> vec_1_subset(vec_1.begin()+2,vec_1.begin()+4);
for (auto& element: vec_1_subset)
{
std::cout<<element<<std::endl;
}
// For extracting from a single vector inside another vector
std::vector<int> my_vec_subset((my_vec[0]).begin()+2,(my_vec[0]).begin()+4);
for (auto& element: my_vec_subset)
{
std::cout<<element<<std::endl;
}
// For several vectors inside a vector ?
std::vector<std::vector<int>> my_vec_test_subset(my_vec.begin()+2,my_vec.begin()+4);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
最后一次尝试创建一条错误消息。
下页所示的示例不起作用: Using c# ClientWebSocket with Streams
它挂在以下行上:
等待 ws.ConnectAsync(serverUri, CancellationToken.None);
看来连接尚未建立。
请指出使以下代码工作的最简单的修改。我不想使用任何第三方工具或库。
private static async Task DoClientWebSocket()
{
using (ClientWebSocket ws = new ClientWebSocket())
{
Uri serverUri = new Uri("wss://echo.websocket.org/");
await ws.ConnectAsync(serverUri, CancellationToken.None);
while (ws.State == WebSocketState.Open)
{
string msg = "hello123";
ArraySegment<byte> bytesToSend = new ArraySegment<byte>(Encoding.UTF8.GetBytes(msg));
await ws.SendAsync(bytesToSend, WebSocketMessageType.Text, true, CancellationToken.None);
ArraySegment<byte> bytesReceived = new ArraySegment<byte>(new byte[1024]);
WebSocketReceiveResult result = await ws.ReceiveAsync(bytesReceived, CancellationToken.None);
Console.WriteLine(Encoding.UTF8.GetString(bytesReceived.Array, 0, result.Count));
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个循环,用半个大的元素替换列表中的所有元素。如果列表为 [1,2,3,4],则新列表应为 [0.5,1,1.5,2]。无需创建新列表!
我尝试了以下
for i in Glist:
i = Glist[i]/2
Glist.append(i)
Run Code Online (Sandbox Code Playgroud)
和热错误:列表索引超出范围如何停止循环?
也试过这个:
for i in mylist:
i = i/2
mylist.append(i)
Run Code Online (Sandbox Code Playgroud)
不工作
有人可以帮助我理解为什么s[:]=s[::-1]可以完美运行但s[]=s[::-1]不能吗?
另外,这是否会被视为就地操作(没有额外的内存)?
我正在尝试提出授权请求并提出TypeError: can't concat str to bytes. 我在网上搜索并发现了类似的问题,但没有一个可以帮助解决我的问题。我目前正在 Jupyter 工作(如果有帮助的话?)而且我是一个 python 菜鸟,所以请温柔一些......
这是我的代码:
import http.client as httplib
import urllib.request, urllib.parse, urllib.error, base64
import requests as rq
base_url = 'api/url'
end_point = '/endpoint'
full_url = base_url + end_point
request_body = {
'UserName':'un',
'Password':'pw'
}
header = {
'tenant': 'tenant name' #required by vendor
}
print(type(base_url))
print(type(end_point))
print(type(full_url))
print(type(request_body))
print(type(header))
try:
conn = httplib.HTTPSConnection(base_url)
conn.request(method='POST',url=full_url, body=request_body, headers=header)
response = conn.getresponse()
data = response.read()
print(type(data))
print(data)
conn.close()
except Exception as e:
print("[Errno …Run Code Online (Sandbox Code Playgroud) //Function to find the distance between 2 points
TLength CPoint::Distance(const CPoint& point) const
{
TLength horiz = abs(point.X() - OBJECT.X());
TLength vert = abs(point.Y() - OBJECT.Y());
TLength dist = sqrt(pow(horiz,2) + pow(vert,2));
return dist;
};
int main()
{
const CPoint a = CPoint(4,5);
const CPoint b = CPoint(1,1);
a.Distance(b);
};
Run Code Online (Sandbox Code Playgroud)
是否有一个术语可以代替 OBJECT 来使用函数 Distance 中的 a 值?
我正在尝试将 Java 代码转换为 C#,但在处理 BigInteger 操作时遇到了问题。我找到了一些关于 C# 中 BigInteger 实现和 intValue 本身的资源。但是没有关于 C# 中 BigInteger.intValue 等价物的线索。Java中的定义是:
将此 BigInteger 转换为 int。这种转换类似于 Java™ 语言规范第 5.1.3 节中定义的从 long 到 int 的缩小原始转换:如果此 BigInteger 太大而无法放入 int,则仅返回低 32 位。注意此转换可能会丢失有关 BigInteger 值的整体大小的信息,并会返回具有相反符号的结果。
但是在 C# 中使用 (int) 获得类似的结果会导致错误:
对于 Int32,值要么太大要么太小。
我也尝试只使用低字节但没有成功如果有人帮忙,我们将不胜感激
我正在尝试为矩阵数据结构创建模板,并且我希望以简洁直观的方式来索引和分配元素(即 'A(i,j)' 返回一个元素和 'A(i,j)=x ' 为该元素分配一个值。)
根据其他论坛主题,我看到通过引用返回数组元素,函数/运算符可以以这种方式返回和更改该元素。
template <typename T, int Rows, int Cols>
struct Matrix {
private:
public:
const int rows = Rows; //number of rows
const int cols = Cols; //number of columns
T data[Rows*Cols]; //contents of matrix
//Single element indexing and assigment
T& operator() (int i, int j) {
return data[ (i-1)*(this->cols) + j ];
}
};
int main(){
const int m = 3;
const int n = 4;
Matrix<float, m, n> A;
for (int i = …Run Code Online (Sandbox Code Playgroud) 我正在阅读有关内存的 C++ Primer Plus, 12.1.3,以及有关析构函数的一些内容真的让我感到困惑。
//Here is a default construtor of String class
String::String()
{
len = 0;
str = new char[1];
str[0] = '\0';
}
Run Code Online (Sandbox Code Playgroud)
书上说,使用str = new char[1]not str = new char,两种方式分配相同的内存,但第二种与析构函数不兼容。此外,书中说以下3种方式不好,因为它们与“删除”不兼容
char words[15] = "bad idea";
char *p1 = words;
char *p2 = new char;
char *p3;
delete [] p1; //undefined, so don't do it
delete [] p2; //undefined, so don't do it
delete [] p3; //undefined, so don't do it
Run Code Online (Sandbox Code Playgroud)
我不知道这 3 种方式有什么不同,有人可以向我解释一下吗?非常感谢。
我在看iriskedro 提供的项目示例。除了记录准确性之外,我还想将predictions和保存test_y为 csv。
这是 kedro 提供的示例节点。
def report_accuracy(predictions: np.ndarray, test_y: pd.DataFrame) -> None:
"""Node for reporting the accuracy of the predictions performed by the
previous node. Notice that this function has no outputs, except logging.
"""
# Get true class index
target = np.argmax(test_y.to_numpy(), axis=1)
# Calculate accuracy of predictions
accuracy = np.sum(predictions == target) / target.shape[0]
# Log the accuracy of the model
log = logging.getLogger(__name__)
log.info("Model accuracy on test set: %0.2f%%", accuracy …Run Code Online (Sandbox Code Playgroud) c++ ×4
python ×4
c# ×2
algorithm ×1
biginteger ×1
class ×1
destructor ×1
function ×1
http.client ×1
java ×1
kedro ×1
loops ×1
pointers ×1
python-3.x ×1
subset ×1
templates ×1
vector ×1