回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个元组,如下所示</p>
<pre><code>all_combi= [
('a', 33.333333333333336),
('a', 38.333333333333336),
('a', 43.333333333333336),
('a', 48.333333333333336),
('a', 53.333333333333336),
('a', 58.333333333333336),
('a', 63.333333333333336),
('a', 68.33333333333334),
('a', 73.33333333333334),
('a', 78.33333333333334),
('a', 83.33333333333334),
('a', 88.33333333333334),
('a', 93.33333333333334),
('a', 98.33333333333334),
('b', 33.333333333333336),
('b', 38.333333333333336),
('b', 43.333333333333336),
('b', 48.333333333333336),
('b', 53.333333333333336),
('b', 58.333333333333336),
('b', 63.333333333333336),
('b', 68.33333333333334),
('b', 73.33333333333334),
('b', 78.33333333333334),
('b', 83.33333333333334),
('b', 88.33333333333334),
('b', 93.33333333333334),
('b', 98.33333333333334),
('c', 33.333333333333336),
('c', 38.333333333333336),
('c', 43.333333333333336),
('c', 48.333333333333336),
('c', 53.333333333333336),
('c', 58.333333333333336),
('c', 63.333333333333336),
('c', 68.33333333333334),
('c', 73.33333333333334),
('c', 78.33333333333334),
('c', 83.33333333333334),
('c', 88.33333333333334),
('c', 93.33333333333334),
('c', 98.33333333333334)]
</code></pre>
<p>我想根据这个列表对这个元组进行排序</p>
<pre><code>instr_list. = ['a', 'b', 'c']
</code></pre>
<p>预期输出的示例如下所示</p>
<pre><code>[[
('a', 33.333333333333336),
('b', 33.333333333333336),
('c', 33.333333333333336)
], [
[('a', 33.333333333333336),
('b', 38.333333333333336),
('c', 43.333333333333336)]
]]
</code></pre>
<p>我尝试了在<a href="https://stackoverflow.com/questions/65185199/sorting-tuple-list-based-on-another-list">here</a>给出的以下解决方案,根据列表对元组进行排序。但它并没有给出预期的结果。
我尝试使用显式循环,但它不起作用。感谢您的帮助</p>
<pre><code>def get_slab_list(all_combi, instr_list):
out_master_list = []
for i in range(len(instr_list)):
#k=0
out_list=[]
for j in all_combi:
if j[0] == instr_list[i]:
out_list.append(j[1])
out_master_list.append(out_list)
return out_master_list
sample = get_slab_list(all_combi, instr_list)
</code></pre>