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

标签 python python-3.x list nested-lists

我有一个嵌套列表。在列表中,它有一个日期和一个名称。我想要计算当天的用户数。例如,在“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]]

关于python - 计算嵌套列表python中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58316172/

相关文章:

python - 从列表中提取值,格式类似于 Python 中的 JSON 文件

c - 如何反转我的 C 列表?

python - numpy中Hermitian矩阵的IFFT

python - `pip install -t` 不适用于命名空间包

python - 如何在 Numba Vectorize 签名中指定元组?

python,将字典拆分为元组列表

python - 如何在列表中按字母顺序取出最长的子串?

Python pandas to_json() 格式无效

python - 类型错误 : Object of type bool_ is not JSON serializable

python - 我的错误 : List or tuple literal expected as the second argument to namedtuple()