Is there any C++ library that provide algorithms and containers which has python like interface and behavior?
<p>I think Python's API is better than C++ STL's API. So I am wondering is there any library port Python's standard library to C++?</p>

<p><a href="https://github.com/imageworks/pystring/" rel="nofollow">pystring</a> meets my requirements partially. However, there is some issues:</p>

<ol>
<li>I want more containers like pylist (compare to <code>std::vector</code>), pydict (<code>std::map</code>), pyset (<code>std::set</code>), etc.</li>
<li>I want more algorithms.</li>
<li><p>I want a 100% python compatibility. pystring just provide some functions works on <code>std::string</code>. I want something like this:</p>

<p><code>assert(py::string("foo bar").split() == py::list_of("foo")("bar"));</code></p></li>
</ol>

<p><b>Edit</b></p>

<p>After reading the comments, let me give some reasons why I want this library</p>

<ol>
<li><p>Easier to learn and use C++.</p>

<p>Nowaday, we have to learn two 
standard library interfaces: Python's and C++'s.
If such library exist, we don't need to learn C++'s interface anymore.
I know other programmers will still use STL, 
and we still have to read their codes.
However, read STL code is easier than use STL.</p></li>
<li><p>Easier to port Python's source code to C++.</p>

<p>Python is a script language. It much slower than C++. 
That is why I can't just program in python.
When we port some python programs to C++ we have to convert the API.
If such library exist, this job will be easier.</p></li>
</ol>

<p>In python</p>

<pre><code>subprocess.call(["cat", "-v" ,"-E", "-T"] + glob.glob('*'))
</code></pre>

<p>If in C++, we can write this</p>

<pre><code>subprocess::call(list_of("cat")("-v")("-E")("-T") + glob::glob("*"));
</code></pre>

<p>Hah, life will be better! </p>
