Skip to main content
 首页 » 编程设计

python之计算嵌套列表python中的数据

2025年05月04日11arxive

我有一个嵌套列表。在列表中,它有一个日期和一个名称。我想要计算当天的用户数。例如,在“2019-10-11”中,有 5 个用户。但是 sam 用户已经存在,所以我把它算作 4。这是列表

a =[['sam', '2019-10-11'], ['ram', '2019-10-12'], ['king', '2019-10-11'], 
    ['queen', '2019-10-10'], ['ram', '2019-10-12'], ['kumar', '2019-10-11'], 
    ['jeba', '2019-10-11'], ['sam', '2019-10-10'], ['sam', '2019-10-11'], 
    ['howl', '2019-10-14']] 

需要的输出:

a = [['2019-10-10','2019-10-11','2019-10-12','2019-10-14'],[2,4,1,1]] 

请您参考如下方法:

您可以使用下面给出的代码遍历数组并计算 json b 中的键

a =[['sam', '2019-10-11'], ['ram', '2019-10-12'], ['king', '2019-10-11'], 
    ['queen', '2019-10-10'], ['ram', '2019-10-12'], ['kumar', '2019-10-11'], 
    ['jeba', '2019-10-11'], ['sam', '2019-10-10'], ['sam', '2019-10-11'], 
    ['howl', '2019-10-14']] 
 
b = {} 
 
for iter in a: 
  if iter[1] in b: 
    if(iter[0] not in b[iter[1]]): 
      b[iter[1]][iter[0]] = 1 
  else: 
    b[iter[1]] = {iter[0]: 1} 
 
    print(b) 

以上代码的结果将是:

{'2019-10-11': {'sam': 1, 'king': 1, 'kumar': 1, 'jeba': 1}, '2019-10-12': {'ram': 1}, '2019-10-10': {'queen': 1, 'sam': 1}, '2019-10-14': {'howl': 1}} 

当然也可以像这样转成数组结构

for key in b: 
  print(key, len(b[key])) 
  res[0].append(key) 
  res[1].append(len(b[key])) 

结果是

[['2019-10-11', '2019-10-12', '2019-10-10', '2019-10-14'], [4, 1, 2, 1]]