新手python学习者在这里。我会直奔主题。我有一个元组列表,每个元组都按某种顺序包含名称。我想按字母顺序对这些元组进行排序。
sample_lst = [
('Bessie', 'Buttercup', 'Bella', 'Blue', 'Belinda', 'Beatrice', 'Sue', 'Betsy'),
('Bessie', 'Buttercup', 'Bella', 'Blue', 'Belinda', 'Betsy', 'Beatrice', 'Sue')
('Bessie', 'Belinda', 'Betsy', 'Blue', 'Bella', 'Buttercup', 'Sue', 'Beatrice')
('Bessie', 'Belinda', 'Beatrice', 'Sue', 'Betsy', 'Buttercup', 'Bella', 'Blue')
]
例如,由于 Betsy 和 Beatrice 之间的差异,第四个元组按字母顺序排在第三个元组之前。
如您所见,有一个小的元组列表,每个元组都包含名称(这是一组更大的元组的示例),我需要按字母顺序对它们进行排序。
使这个问题对我来说很困难的部分是没有设定值来排序。如果我可以按第一个索引对所有元组进行排序,我会这样做,但在这种情况下,逻辑不适用。有时两个元组之间的差异在索引 4 处,而在其他时候它可能是 2。
cows = ['Bessie', 'Buttercup', 'Belinda', 'Beatrice', 'Bella', 'Blue', 'Betsy','Sue']
cow_permutations = itertools.permutations(cows, 8)
希望这个片段能让您更清楚地了解我想要做什么。如您所知,我正在列出牛名,并使用 itertools 查找所有可能的排列。我只需要按字母顺序对它们进行排序。
起初我想太多了,并尝试使用 lambda 函数以某种方式在特定范围内对它们进行排序,但无济于事。
然后,我采用了更简单的方法,例如 .sort()
cow_permutations.sort()
这也失败了,我想我可以用这种方式对庞大的元组列表进行排序。我得到的只是一个“itertools.permutations”对象没有属性“排序”错误。
作为初学者,我想我已经尝试了我能力范围内的一切。如果有人能指出我可以按字母顺序对元组列表进行排序的方法,或者提供一种不同的方法,我可以找到所有牛名顺序的排列,这样我就可以使代码不那么混乱 - 我会非常欣赏它。提前致谢。