我有一个如下所示的列表:
myList = [('string1', 48), ('string2', 48), ('string3', 18)]
如何将其转换为计数器?我已经这样了:
newCounter = Counter(myList)
但我似乎仍然得到一份清单
答案 0 :(得分:2)
你肯定没有得到一份清单。你没有得到你想要的计数器,因为Counter构造函数将计算它提供的迭代,而不是将其视为键值对列表,所以首先将列表转换为dict以解决这个问题:
counter = Counter(dict(myList))
如果你确定要获得一个列表,那么你还有一些我们看不到的错误。
答案 1 :(得分:1)
如果您打印newCounter
,您将能够看到它已经是一个反对象:
Counter({('string3', 18): 1, ('string1', 48): 1, ('string2', 48): 1})
另请参阅newCounter
的类型:
print type(newCounter)
<class 'collections.Counter'>