新增数值字典
回答
这样的事情?
myDictionary[myProduct] += stockIncrease;
这几乎就是您用来更新数组中项目的语法。
如果有帮助,可以从“我希望股票上涨”以及“我如何获得我需要的价值以及如何利用该价值做什么”等角度来考虑它。 。
如果它不能保证你的字典开始,然后只需添加上的,如果检查是否存在产品:
if (!inventory.ContainsKey(myProduct)) {
inventory[myProduct] = 0;
}
inventory[myProduct] += stockIncrease;
或'if(!inventory.ContainsKey(myProduct)){ inventory [myProduct] = 1; } else { inventory [myProduct] + = stock_increase; }'为了避免访问字典3次。 –
@ OlivierJacot-Descombes仍然可以访问字典三次。首先调用“ContainsKey”,然后在inventory [myProduct]的属性获取器中,最后在inventory [myProduct]的属性设置器中。 – hvd
@ OlivierJacot-Descombes - 我认为HashMaps是O(1),我不妨选择对我来说看起来最干净的方式,而不是担心效率,但是,你的方式应该也一样工作(尽管你可能想要最初将库存大小设置为'stockIncrease'以保持一致) – Michael0x2a
为了应对物品还没有在你的字典中,我个人倾向于方法是使用TryGetValue
:
int stock;
inventory.TryGetValue(product, out stock);
inventory[product] = stock + 1;
这工作,因为TryGetValue
套stock
到default(int)
,这是0
,如果产品不存在。 0
正是您想要的值。
如果你喜欢后TryGetValue
返回false
(为便于阅读)治疗stock
值未分配的,那么你仍然可以使用相同的通用方法:
int stock;
if (!inventory.TryGetValue(product, out stock))
stock = 0;
inventory[product] = stock + 1;
- 1. 更新新的字典键+增量旧字典值
- 2. Python的 - 增量字典值
- 3. 更新字典值
- 4. 字典Python3。更新字典的价值
- 5. 更新字典值的字典
- 6. 有条件增加值字典
- 7. 增加值字典不走正确
- 8. Python:增加循环中的字典值
- 9. 字典中的Python增量值
- 10. 的Python - 功能来增加字典值
- 11. 递增字典值总是结束
- 12. 增加指定密钥字典的值
- 13. 如何使用增加的值返回新字典?
- 14. 非典型字母和数字递增
- 15. swift更新字典值3
- 16. Python字典值更新
- 17. 更新python字典值
- 18. 按字典的数值排序字典
- 19. Python词典中的两个字典,增加特定键值
- 20. 增加计数器作为一个字典值的循环
- 21. 新增null值的数组
- 22. python新词典如果值匹配键值内部字典
- 23. 向pandas DataFrame增加字典值。据帧与字典键的列名
- 24. 合并Python字典和增加值的类似值
- 25. Python更新数组字典
- 26. 字典值包含字典和值包含数组
- 27. 更新字典与另一个字典,但只有非无值
- 28. Python:遍历字典列表并将值提取到新字典
- 29. 了解字典,使用C#添加新值到字典
- 30. 在字典中添加和更新为“值”的字典
怎么样,这是没有库存的项目?这是否存在于你的字典中,值为零,还是从字典中丢失?当前的答案假定它已经存在。 – hvd
@ hvd有效点,该字典中可能不存在该产品。 –
请谨慎使用该产品作为字典中的关键字。默认情况下,引用相等被用于类。如果一个产品总是由相同的类实例(对象)表示,那么这是可以的。否则,使用产品ID作为键或覆盖该类的'Equals'和'GetHashcode'。 –