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

如何在列表中找到相同的值并将新列表分组?

闻人宇定
2023-03-14
问题内容

从此列表:

N = [1,2,2,3,3,3,4,4,4,4,5,5,5,5,5]

我正在尝试创建:

L = [[1],[2,2],[3,3,3],[4,4,4,4],[5,5,5,5,5]]

被发现相同的任何值都被分组到其自己的子列表中。到目前为止,这是我的尝试,我在想应该使用while循环吗?

global n

n = [1,2,2,3,3,3,4,4,4,4,5,5,5,5,5] #Sorted list
l = [] #Empty list to append values to

def compare(val):
   """ This function receives index values
   from the n list (n[0] etc) """

   global valin
   valin = val

   global count
   count = 0

    for i in xrange(len(n)):
        if valin == n[count]: # If the input value i.e. n[x] == n[iteration]
            temp = valin, n[count]
             l.append(temp) #append the values to a new list
             count +=1
        else:
          count +=1


for x in xrange (len(n)):
    compare(n[x]) #pass the n[x] to compare function

问题答案:

有人提到N=[1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 1]它会得到[[1], [2, 2], [3, 3, 3], [4, 4, 4, 4], [5, 5, 5, 5, 5], [1]]

换句话说,当列表的编号不按顺序排列或为混乱列表时,该列表将不可用。

所以我有更好的答案来解决这个问题。

from collections import Counter

N = [1,2,2,3,3,3,4,4,4,4,5,5,5,5,5]
C = Counter(N)

print [ [k,]*v for k,v in C.items()]


 类似资料:
  • 问题内容: 我有一张桌子 提供值后,需要计算为 我想乘和列并将结果存储在同一表的列中。 我已经试过了: 但是失败了! 有人请帮助我实现这一目标。 问题答案: 尝试更新表格

  • 我正在使用MongoDB搜索包含列表列表的元素,其中列表中至少有一个项目与搜索参数匹配。 这是我目前拥有的结构的一个例子。 我想搜索数据列表中值为“绿色”的所有项目。 我目前有这个: 但是,不会返回任何结果。

  • 我需要一些帮助,在一个月内找到低费用和高费用。我有一个费用列表,其中费用类别具有以下值。您能否指导我如何对它们进行分组以获得Java-8中的预期输出?提前谢谢你的帮助。 预期产出 我尝试按类型(杂货)进行分组,即

  • 我讨论这个问题已经有一段时间了,但没有结果。这几乎是一个重复的问题,至少有一个其他的问题在这里,但我不能完全弄清楚如何做,确切地说,我正在寻找从网上相关的答案。 我有一个熊猫数据帧(我们称之为),看起来像: 其中是索引。我想将其转换为类似以下内容: 因此,基本上,每个对应于相同索引的都应该组合到一个列表(或一个集合,或一个元组)中,该列表成为对应索引的。并且,如图所示,在相似的索引行之间是相同的,

  • 问题内容: 我想知道什么是实现此目标的最佳方法。 想不出一种好方法来保存需要保存的信息,例如索引和值的数量,最后是要重复的实际数量 问题答案: 您可以使用2D ArrayList,其声明如下: 然后在过程结束时声明要添加到其中的2个ArrayList: 然后 1)遍历列表,检查元素是否与先前相同。 如果是的话,请进行到最后,否则将发现一个不同的元素,此时在ArrayList中将先前相等元素的数量存