Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在Python中对dictlike结构中的耦合值求和?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个正在解析的xlsx <code>openpyxl</code>。在</p> <p>A列是产品名称,B列是revenue,我想将每对产品收入值提取到A <code>dict</code>。若并没有重复的产品,只需通过适当地映射<code>ws.columns</code>来创建dict。在</p> <p>问题是,有些(但不是所有)产品都有多个条目。对于这些,我需要求和这些值的总和,然后返回这些产品的一个键(对于其他产品)。因此,如果我的收入电子表格包含以下内容:</p> <p>{1美元^</p> <p>在返回dict之前,我希望<strong>将香蕉的收入值</strong>相加。然后期望的结果是:</p> <pre><code>{'Banana': 7.2, 'Apple': 1.7, 'Pear': 6.2, 'Kiwi': 1.2} </code></pre> <p>如果没有重复项,则以下操作正常:</p> ^{pr2}$ <p>但很明显,当它遇到重复时就会崩溃。我可以尝试使用<a href="https://stackoverflow.com/a/6815061/1389110">MultiDict()</a>,它将给出一个结构,我可以从中执行加法并创建最后的<code>dict</code>:</p> ^{3}$ <p>这就给我留下了一个<code>MultiDict</code>,它本身实际上是一个元组的列表</strong>,所有这些都变得有点复杂。有没有一种更简洁或标准的库方法来实现同一个键的多次数据结构?雇佣<code>zip()</code>怎么样?不一定要像口述一样。我只需要能够从中创建一个<code>dict</code>(然后执行加法)。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>假设您可以将数据转换为键值元组的列表,这应该与您想要的结果接近:</p> <pre><code>list_key_value_tuples = [("A", 1), ("B", 2), ("A", 3)] d = {} for key, value in list_key_value_tuples: d[key] = d.get(key, 0) + value > print d {'A': 4, 'B': 2} </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
6 回答
无法使用Django\u mssql\u后端迁移到外部hos
7 回答
无法使用Django&Python3.4连接到MySql
5 回答
无法使用Django+nginx上载媒体文件
4 回答
无法使用Django1.6导入名称模式
1 回答
无法使用Django1.7和mongodb登录管理站点
5 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
6 回答
无法使用Djangockedi验证CBV中的字段
6 回答
无法使用Djangocketditor上载图像(错误400)
3 回答
无法使用Djangocron进行函数调用
6 回答
无法使用Djangofiler djang上载文件
6 回答
无法使用Djangokronos
6 回答
无法使用Djangomssql provid
8 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
4 回答
无法使用Djangomssq迁移Django数据库
6 回答
无法使用Djangonox创建用户
1 回答
无法使用Djangopyodb从Django查询SQL Server
9 回答
无法使用Djangopython3ldap连接到ldap
3 回答
无法使用Djangoredis连接到redis
3 回答
无法使用Django中的FK创建新表
5 回答