擅长:python、mysql、java
<p>从问题上看,单元名称开始时是3个字符,学期结束时是1个字符。假设是这种情况,那么您可以重新排列课程名称中的字符,并将其传递给<code>sorted()</code>的<code>key</code>参数。这非常简单,您可以使用<code>lambda</code>函数进行转换</p>
<pre><code>lst = ['ABC11-2', 'BCD14-1', 'ABC09-1', 'ABC14-1', 'BCD11-2']
print(sorted(lst, key=lambda s: s[:3] + s[-1] + s[3:-1]))
</code></pre>
<p>产出:</p>
<pre><code>['ABC09-1', 'ABC14-1', 'ABC11-2', 'BCD14-1', 'BCD11-2']
</code></pre>