如何解决如何在列表中找到相同的值并将新列表分组?
有人提到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()]
解决方法
从此列表:
N = [1,2,3,4,5,5]
我正在尝试创建:
L = [[1],[2,2],[3,3],[4,4],[5,5]]
被发现相同的任何值都被分组到其自己的子列表中。到目前为止,这是我的尝试,我在想应该使用while
循环吗?
global n
n = [1,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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。