Python计数器()为现有键添加值
循环以收集计数器数据:Python计数器()为现有键添加值,python,dictionary,Python,Dictionary,循环以收集计数器数据: developer_base = Counter({ 'user1': {'XS': 0, 'S': 0, 'M': 0, 'L': 0, 'XL': 0}, 'user2': {'XS': 0, 'S': 0, 'M': 0, 'L': 0, 'XL': 0}, 'user3': {'XS': 0, 'S': 0, 'M': 0, 'L': 0, 'XL': 0}, 'user4': {'XS': 0, '
developer_base = Counter({
'user1': {'XS': 0, 'S': 0, 'M': 0, 'L': 0, 'XL': 0},
'user2': {'XS': 0, 'S': 0, 'M': 0, 'L': 0, 'XL': 0},
'user3': {'XS': 0, 'S': 0, 'M': 0, 'L': 0, 'XL': 0},
'user4': {'XS': 0, 'S': 0, 'M': 0, 'L': 0, 'XL': 0},
})
计数器是否应该是for循环的一部分?故事大小始终等于嵌套dict中的一个键(S、XS、M等)time\u list
包含['minutes\u speed'],这是需要添加到字典中的值。问题似乎是时间列表有一个嵌套的dict,它是['user']['first\u name'],它等于user1到user4的开发者基本键
因此,我需要将每个用户在时间列表中花费的所有“分钟”加起来
更新:JSON数据
for y in time_list:
story_size = models.get_specific_story(y['story_id'])
if story_size is not "?":
counts = Counter(y['minutes_spent'])
print(counts)
developer_base = developer_base + counts
数据要大得多,但这是一个完整的部分。在第一个片段中,您滥用了计数器。这段代码之所以有效,是因为Python2中存在一些怪癖,人们可以在其中比较dict。计数器的值应该是数字
类似地,y['minutes\u-speed']
是一个整数,Counter(y['minutes\u-speed'])
只会抛出一个错误。此外,故事大小不是“?”
假设真正的问题是
为每个用户在时间列表中添加所有“花费的分钟”
然后您可以使用计数器:
[{'project_slug': 'test', 'project_id': 19855, 'date': '2016-02-11', 'task_name': None, 'iteration_name': 'test', 'notes': '', 'user_id': 81946, 'story_id': 392435, 'iteration_id': 76693, 'story_name': 'test', 'user': {'id': 81946, 'last_name': 'test', 'first_name': 'user1', 'email': 'test', 'username': 'test'}, 'project_name': 'Development', 'id': 38231, 'minutes_spent': 240}]
在第一个代码片段中,您正在滥用计数器
。这段代码之所以有效,是因为Python2中存在一些怪癖,人们可以在其中比较dict。计数器的值应该是数字
类似地,y['minutes\u-speed']
是一个整数,Counter(y['minutes\u-speed'])
只会抛出一个错误。此外,故事大小不是“?”
假设真正的问题是
为每个用户在时间列表中添加所有“花费的分钟”
然后您可以使用计数器:
[{'project_slug': 'test', 'project_id': 19855, 'date': '2016-02-11', 'task_name': None, 'iteration_name': 'test', 'notes': '', 'user_id': 81946, 'story_id': 392435, 'iteration_id': 76693, 'story_name': 'test', 'user': {'id': 81946, 'last_name': 'test', 'first_name': 'user1', 'email': 'test', 'username': 'test'}, 'project_name': 'Development', 'id': 38231, 'minutes_spent': 240}]
我很难理解计数器()实际上是如何工作的。你的建议确实有用!所以我正朝着正确的方向前进。非常感谢您澄清我试图在P3.5中使用的P2的“怪癖”。我确实将“is not”改为“!=”,因为我只是“假设”is not部分不起作用。计数器基本上是一个defaultdict(int)
,有几个辅助方法。现在查看计数器上的文档。我仍然认为我没有正确地处理这个问题,在上面的例子中,对于c[y['user']['id']],当我添加下一个嵌套键['story_size']时,它抛出了类型错误:字符串索引必须是整数。嵌套键:值赋值现在允许通过计数器吗?@SudoGaron我的魔法水晶球说,y
不是你在这种情况下所想的,并且与计数器
完全无关。啊,是的,没有故事大小的键,它是实际创建的变量。c[y['user']['first_name'][story_size]也不起作用,因为它来自一个独立的对象,而不是y
。我将研究如何从独立的对象构建关键点,看看它是如何运行的。我很难理解计数器()是如何工作的实际上是有效的。你的建议确实有帮助!所以我正朝着正确的方向前进。非常感谢你澄清了我试图在P3.5中使用的P2的“怪癖”。我确实将“is not”改为“!=”,因为我只是“假设”is not部分不会工作。计数器
基本上是一个defaultdict(int)
有几个助手方法。现在查看计数器上的文档。我仍然认为我没有正确处理上面的例子中的c[y['user']['id']],当我添加下一个嵌套键['story\u size']它抛出类型错误:字符串索引必须是整数。嵌套键:值赋值现在允许通过计数器吗?@SudoGaron我的魔法水晶球说,y
不是你在这种情况下所想的,并且与计数器
完全无关。啊,是的,没有故事大小的键,它是实际创建的变量。c[y['user']['first_name'][story_size]也不起作用,因为它来自一个独立的对象,不在y
中。我将研究独立对象的建筑关键点,看看它是如何运行的。