我正在努力从for循环中的Counter中获取单值和密钥对
我有以下代码:
test= ["test1", "test2", "apps1", "apps2", "random"]
return collections.Counter(i[:4] for i in test)
我得到以下内容: { " rand":1, "测试":2, " apps":2, }
我想知道有没有办法获得这些价值观&如果是for循环,则基于该位置的键,因为我试图将它添加到角度应用程序的json对象中。
我想要创建的JSON对象看起来像这样,
returnObject = []
for i in range(len(collections.Counter(i[:4] for i in test))):
tempObject ={
'value': #add counter value in pos i,
'color': 'rgb(0,19,255)',
'label': #add counter key in pos i,
'order': i+1,
}
returnObject.append(tempObject)
print returnObject
对不起,我是新手,已经尝试了很多不同的事情,但提前感谢您的帮助。
答案 0 :(得分:1)
使用range(len)
不是循环容器的规范方式,对dict
类型不是很有用。
您可以直接遍历容器,例如:
counts = collections.Counter(i[:4] for i in test)
for key in counts:
print(key, counts[key])
或者更直接地使用.items()
:
counts = collections.Counter(i[:4] for i in test)
for key, value in counts.items():
print(key, value)