当前位置: 首页 > 面试题库 >

如何从Python列表中获取具有各自出现次数的唯一值?

楚骞尧
2023-03-14
问题内容

我有一个包含重复项目的列表,我想要一个独特项目及其频率的列表。

例如,我有['a', 'a', 'b', 'b', 'b'],我想要[('a', 2), ('b', 3)]

寻找一种简单的方法来执行此操作而不会循环两次。


问题答案:

如果将您的商品归类(即,类似的商品成一堆),则最有效的使用方法是itertools.groupby

>>> [(g[0], len(list(g[1]))) for g in itertools.groupby(['a', 'a', 'b', 'b', 'b'])]
[('a', 2), ('b', 3)]


 类似资料:
  • 问题内容: 我想从以下列表中获取唯一值: 我需要的输出是: 此代码有效: 我应该使用更好的解决方案吗? 问题答案: 首先正确声明你的列表,以逗号分隔。你可以通过将列表转换为一组来获得唯一值。 如果进一步将其用作列表,则应执行以下操作将其转换回列表: 另一种可能(可能更快)的可能性是从头开始使用集合而不是列表。然后你的代码应为: 正如已经指出的那样,集合不保持原始顺序。如果需要,则应查找有序集合实现

  • 问题内容: 我想创建一个(或一组)所有出现在python列表中的唯一值的列表。我有这样的事情: 我想要以下内容: 我知道对于字符串列表,您只能使用set(aList),但是我无法弄清楚如何在列表列表中解决此问题,因为set(aList)会向我显示错误消息 我该如何解决? 问题答案:

  • 问题内容: 我有一个看起来像这样的列表列表: 删除重复列表的最佳方法是什么?使用上面的示例,我正在寻找会产生这种情况的代码: 我最初以为我可以使用,但这似乎不适用于列表列表。我还看到了一个使用的示例,但是代码对我来说并不完全清楚。谢谢您的帮助! 问题答案: uniq_animal_groups = set(map(tuple, animal_groups)) 尽管您将得到一组元组而不是一组列表,但

  • 我目前正在为我的项目使用谷歌表格。我有一个包含多个工作表的Excel工作簿。此处的任务是创建特定时间段内所有工作表的汇总格式。 输出应如下所示: 我目前的问题是从具有相同标识符的多个行的工作表中获取数据。这是工作表编号1,我已经从这里获得了我需要的所有数据: 但在工作表2中,我需要能够从这张工作表中提取状态以进行摘要: 我尝试使用带有VLOOKUP函数的IF ELSE语句,但无济于事。 (注意:由

  • 我有一个表,在其他列中有column1和column2? 我需要从column1和Column2中获取的所有行的唯一值的计数。可能的查询:选择count(*)from((从table1中选择distinct column1)UNION(从table1中选择distinct column2)); 示例数据: 列1列2值1空值1值1值1值2值2值1值4空值5空 查询1:4的结果(Value1、Valu

  • 问题内容: 因此,我有一个包含几个列表的列表,这些列表都首先包含三个字符串,然后是一个浮点数,例如: 如何制作一个返回最大值的函数(此处为9.1931)?我试过了 但这只是给我一个清单。 编辑:此外,以任何方式我可以获取值来自何处的索引?喜欢,来自哪个子列表? 问题答案: 循环浏览外部列表,然后选择每个子列表的最后一个元素: 最好将所有与函数相关的变量保留在范围内(将列表作为参数传递,并且不要通过

  • 有没有人知道我可以在我的DMN中的哪里使用上面的功能。我试着在我的决定的“表达”选项卡上写感觉。

  • 问题内容: 我需要检查一个JavaScript数组,看看是否有重复的值。最简单的方法是什么?我只需要查找重复的值是什么-我实际上不需要它们的索引或它们被重复多少次。 我知道我可以遍历数组并检查所有其他值是否匹配,但是似乎应该有一种更简单的方法。 问题答案: 您可以对数组进行排序,然后遍历整个数组,然后查看下一个(或上一个)索引是否与当前索引相同。假设您的排序算法很好,则该值应小于O(n 2): 以