我正在尝试解决一个非常奇怪的问题。我对STL容器没有太多的经验,所以对我来说,它们的构造是一个很大的谜。好的,回到主要主题。我需要创建一个双端队列的向量,然后将该向量内的每个现有双端队列拆分为两半。从现在开始,每半部分将创建独立的双端队列。 我期待这样的事情:
vector {deque {1,2,3,4,5}} -----> vector {deque {1,2,3},deque {4,5}}
{{1}}
输出:
1、2、3、4、5,
4、5,
预期:
1、2、3,
4、5,
我不知道发生了什么。有人可以向我解释为什么我对这些容器的想法是错误的吗?这将对我有很大的帮助。
答案 0 :(得分:1)
我相信问题就在这里
writer = pd.ExcelWriter('/path/to/output.xlsx')
for i, df in df_dict.items():
df.to_excel(writer, sheet_name=i)
writer.save()
当您真正想要的是std::deque<int> deque = *(vector_of_deques.begin());
时,您正在制作双端队列的副本。照原样,当您的代码执行此操作时:
std::deque<int>&
您要从副本中擦除文件,而不更改原始矢量。