擅长:python、mysql、java
<p>试试这个:</p>
<pre><code>list = ['chr', 'pos', 'ms01e_PI', 'ms01e_PG_al', 'ms02g_PI', 'ms02g_PG_al', 'ms03g_PI', 'ms03g_PG_al', 'ms04h_PI', 'ms04h_PG_al']
def l_tuple(list):
list = filter(lambda x: "PI" in x or "PG" in x, list)
l = sorted(list, key=lambda x: len(x) and x[:4])
return [(l[i], l[i + 1]) for i in range(0, len(l), 2)]
print(l_tuple(list))
</code></pre>
<p>输出</p>
<pre><code>[('ms01e_PI', 'ms01e_PG_al'), ('ms02g_PI', 'ms02g_PG_al'), ('ms03g_PI', 'ms03g_PG_al'), ('ms04h_PI', 'ms04h_PG_al')]
</code></pre>