在Python中,如果我有一些列表L,並且我想要它的第一個x元素,我將調用L [:x]。在C++中,我使用矢量,但我不知道任何簡單的方法來調用矢量的第一個x元素。C++中的Python列表[:x]等價於什麼?
0
A
回答
3
有幾種方法:
1)創建向量v
由第一x
元素爲:
std::vector<T> v { begin(L), begin(L) + x };
2)通第一x
元素的函數,如對迭代器:
f(begin(L), begin(L) + x);
其中f
接受兩個迭代器作爲參數—探索,standard algorithms,因爲幾乎所有的人都在迭代器對上工作。
根據您的使用情況,您可以使用其中任何一種。
0
如果你願意使用升壓,那麼升壓範圍有boost::slice;這是相當類似的Python:
auto first_x = L | sliced(0, x);
而且看到自己的文檔頁面的完整的例子:
#include <boost/range/adaptor/sliced.hpp>
#include <boost/range/algorithm/copy.hpp>
#include <boost/assign.hpp>
#include <iterator>
#include <iostream>
#include <vector>
int main(int argc, const char* argv[])
{
using namespace boost::adaptors;
using namespace boost::assign;
std::vector<int> input;
input += 1,2,3,4,5,6,7,8,9;
boost::copy(
input | sliced(2, 5),
std::ostream_iterator<int>(std::cout, ","));
return 0;
}
// 3,4,5,
相關問題
- 1. Python中的「require」(Ruby)等價於什麼?
- 2. matplotlib中Matlab的surf(x,y,z,c)等價於什麼?
- 3. C++中的Thread.SetApartmentState等價於什麼?
- 4. 什麼等價於C#中的Microsoft.VisualBasic.Collection?
- 5. C#中的dblarr(3,3)等價於什麼?
- 6. Java中的IntPtr(C#)等價於什麼?
- 7. C中的PHP vsprintf()等價於什麼?
- 8. c#等價於\ x php轉義序列?
- 9. 在C中寫printf等價於什麼?
- 10. C#等價於python的struct.pack
- 11. C++等價於Python的doctests?
- 12. C#等價於Python的os.path.exists()?
- 13. 在Python 3.x中等價於PIL ImageTk
- 14. Python中的matlab排列(A,[3 2 1])等價於什麼?
- 15. C#上的CURLOPT_RETURNTRANSFER等價於什麼?
- 16. 什麼是C#等價於Java的isInstance()?
- 17. 在Python中,什麼C++等價於'r'前綴字符串?
- 18. perldb中的'x'等同於emacs中python的pdb的等價物?
- 19. Python的等價於C的讀取函數是什麼?
- 20. Python等價於C++鄰接表
- 21. REBOL或Red中Python列表[3:7]的等價物是什麼?
- 22. 什麼是shell中的set -x的Python等價物?
- 23. 什麼C#等價於「mklink/J」?
- 24. 什麼是C#等價於std :: vector :: iterators?
- 25. 用於詞典/列表的C++等價的Python代碼?
- 26. 等價於C++中的C++
- 27. 什麼是OS X的UIGraphicsGetCurrentContext()等價物?
- 28. python中'gem'的等價物是什麼?
- 29. Python中imadjust的等價物是什麼?
- 30. python中print_r()的等價物是什麼?
你可以用做['標準:: list'(HTTP:// EN .cppreference.com/w/cpp/container/list),使用['splice'](http://en.cppreference.com/w/cpp/container/list/splice)函數。 – 2015-04-01 15:18:44