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