【发布时间】:2021-05-31 11:48:32
【问题描述】:
我认为这应该有一个比较简单的解决方案。
我有一个 Counter 对象,我想从中创建一个由整数组成的列表,这些整数表示 Counter 对象中每个键的序数值。
说明我的意思:
假设这是我的计数器对象 -
Counter(elems)
Counter({'elem1': 13,
'elem2': 13})
由此,我想生成以下类型的“序数”列表:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
我尝试了一些方法,例如:
ord_list = [i for i in range(1, v + 1) for k, v in Counter(elems).items()]
但我一直得到的最接近的是[1, 1, 2, 2, 3, 3, 4, 4..., 13, 13],而不是我正在寻找的。p>
我错过了什么明显的东西?谢谢大家。
【问题讨论】:
-
我不确定我明白你想要什么?
[i for i in range(max(Counter(sesh_subj).values())+1)]会吗?序数列表与Counter有何关系? -
对不起,首先,“sesh_subj”部分是一个复制和粘贴错误,我已对其进行了编辑以使事情更清楚。我不能使用“max”,因为尽管我给出的插图中是这种情况,但 Counter 对象中的元素并不总是具有相同的计数值。