擅长:python、mysql、java
<p>您的列表需要按照groupby中使用的相同键函数进行排序</p>
<p>试试这个:</p>
<pre class="lang-py prettyprint-override"><code>h1=[list(items) for gr, items in groupby(sorted(finalblobfpost2, key=keyf1), key=keyf1)]
</code></pre>
<p>唯一的区别是对sorted的调用中的<code>key=keyf1</code></p>
<p>输出(与预期相同):</p>
<pre><code>[['ABC/XYZ/15082020/K1_AB_KIL_444444_15082020.txt', 'ABC/XYZ/16082020/K1_AB_KIL_333333_16082020.txt'], ['ABC/XYZ/15082020/K1_SS_ALM_222222_15082020.txt', 'ABC/XYZ/16082020/K1_SS_ALM_111111_16082020.txt']]
</code></pre>
<p>这是在<a href="https://docs.python.org/3/library/itertools.html#itertools.groupby" rel="nofollow noreferrer">docs for ^{<cd2>}</a>中显式编写的:</p>
<blockquote>
<p>The operation of groupby() is similar to the uniq filter in Unix. It
generates a break or new group every time the value of the key
function changes (which is why it is usually <strong>necessary to have sorted
the data using the same key function</strong>).</p>
</blockquote>