python dict 相同key 合并value的实例

yipeiwu_com7年前Python基础

如下所示:

# #### dict中将key相同的字典合并在一个对象里
"""
a = {"a": 1, "b": 2, "c": 1}
for k, v in a.iteritems():
  tmp.setdefault(v, []).append(k)
"""
tmp = {}
objs = OnlineScoringTeacher.objects.filter(
  entry__message_ila__id=1038,
  teacher=1,
).select_related('entry')
# 常规方法
for obj in objs:
  if obj.entry.subject_id not in tmp:
    tmp.update({
      obj.entry.subject_id: []
    })
  tmp[obj.entry.subject_id].append(obj)
# 法二
for obj in objs:
  tmp.setdefault(obj.entry.subject_id, []).append(obj)

以上这篇python dict 相同key 合并value的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

在Python中处理字符串之ljust()方法的使用简介

 ljust()方法返回字符串左对齐的字符串长度宽度。填充是通过使用指定的fillchar(默认为空格)。如果宽度小于len(s)返回原始字符串。 语法 以下是ljust()方...

使用NumPy和pandas对CSV文件进行写操作的实例

数组存储成CSV之类的区隔型文件: 下面代码给随机数生成器指定种子,并生成一个3*4的NumPy数组 将一个数组元素的值设为NaN: In [26]: import numpy a...

修改默认的pip版本为对应python2.7的方法

现在系统中同时有python2.7和python3.5 终端输入python跳出来的也是python2.7的信息 但是输入pip -V跳出来的却是对应于pip3.5的 那么解决办法就是...

python实现八大排序算法(2)

python实现八大排序算法(2)

本文接上一篇博客python实现的八大排序算法part1,将继续使用python实现八大排序算法中的剩余四个:快速排序、堆排序、归并排序、基数排序 5、快速排序 快速排序是通常被认为在同...

Python实现去除列表中重复元素的方法小结【4种方法】

Python实现去除列表中重复元素的方法小结【4种方法】

本文实例讲述了Python实现去除列表中重复元素的方法。分享给大家供大家参考,具体如下: 这里一共使用了四种方法来去除列表中的重复元素,下面是具体实现: #!usr/bin/env...