我有一个清单。每个列表包含三个元素,将它们称为[number, letter, time]。它看起来像这样:
my_list = [[0, 'a', '0:00'],
[1, 'a', '1:00'],
[2, 'b', '2:00'],
[3, 'c', '3:00'],
[4, 'b', '4:00'],
[5, 'a', '5:00'],
[6, 'd', '6:00'],
[7, 'c', '7:00'],
[8, 'b', '8:00'],
[9, 'e', '9:00']]
我想格式化此列表element[1],使得letter每个嵌套列表的 成为一个新的嵌套列表,其中和的element[0]出现为和。numbertimeelement[1]element[2]
我想要的输出应该是这样的
my list = [['a', [0, 1, 5], ['0:00', '1:00', '5:00']],
['b', [2, 4, 8], ['2:00', '4:00', '8:00']],
['c', [3, 7], ['3:00', '7:00']],
['d', [6], ['6:00']],
['e', [9], ['9:00']]]
到目前为止我已经习惯了collections.Counter()获取频率letter
>>> letter_count = Counter([element[1] for element in my_list])
>>> letter_count
Counter({'a': 3, 'b': 3, 'c': 2, 'd': 1, 'e': 1})
我相信我可以使用列表理解来完成其余的工作,使用letter_count.keys()and 条件,但我被困住了。有什么建议么?
另外,欢迎提出更好、更具描述性的标题(为了子孙后代)的建议。
慕田峪9158850
慕神8447489
一只甜甜圈
相关分类