如果满足某些条件,如何从另一个字典创建字典

凯文·奥伦

从字典:

{0: (u'Donald', u'PERSON'), 1: (u'John', u'PERSON'), 2: (u'Trump', u'PERSON'), 14: (u'Barack', u'PERSON'), 15: (u'Obama', u'PERSON'), 17: (u'Michelle', u'PERSON'), 18: (u'Obama', u'PERSON'), 30: (u'Donald', u'PERSON'), 31: (u'Jonh', u'PERSON'), 32: (u'Trump', u'PERSON')}

我想创建另一个字典,如下所示:

{u'Donald John Trump': 2, u'Barack Obama':1, u'Michele Obama':1}

在这里,0,1,2和30,31,32键增加1并出现两次。14,15 17,18分别发生一次。有什么办法可以创建这样的命令?

德尔甘

我认为您需要解决的主要问题是通过对表示递增int序列的键进行分组来识别人员,正如您所描述的那样。

幸运的是,Python有一个解决方案。

from itertools import groupby
from operator import itemgetter
from collections import defaultdict

dct = {
    0: ('Donald', 'PERSON'),
    1: ('John', 'PERSON'),
    2: ('Trump', 'PERSON'),
    14: ('Barack', 'PERSON'),
    15: ('Obama', 'PERSON'),
    17: ('Michelle', 'PERSON'),
    18: ('Obama', 'PERSON'),
    30: ('Donald', 'PERSON'),
    31: ('John', 'PERSON'),
    32: ('Trump', 'PERSON')
}

persons = defaultdict(int)  # Used for conveniance
keys = sorted(dct.keys())   # So groupby() can recognize sequences

for k, g in groupby(enumerate(keys), lambda d: d[0] - d[1]):
    ids = map(itemgetter(1), g)                # [0, 1, 2], [14, 15], etc.
    person = ' '.join(dct[i][0] for i in ids)  # "Donald John Trump", "Barack Obama", etc
    persons[person] += 1

print(persons)
# defaultdict(<class 'int'>,
#        {'Barack Obama': 1,
#         'Donald John Trump': 2,
#         'Michelle Obama': 1})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果满足某些条件,如何从另一个字典创建字典

来自分类Dev

如何通过过滤某些项目从另一个字典创建一个字典?

来自分类Dev

从另一个字典创建一个字典

来自分类Dev

过滤字典以包含满足特定条件的另一个字典中的值

来自分类Dev

如何根据一个字典在 Python 中查询另一个字典的值来修改或创建字典

来自分类Dev

如何防止创建另一个字典

来自分类Dev

根据另一个字典的特定值创建新的Python字典

来自分类Dev

运用字典中的元素来创建另一个字典

来自分类Dev

如何创建一个字典来显示另一个字典的哪些值属于哪些键

来自分类Dev

将一个字典关键字与另一个字典值进行比较,然后创建一个新的字典

来自分类Dev

如何将字典值映射到另一个字典

来自分类Dev

如何用另一个字典过滤python字典?

来自分类Dev

如何将字典映射到另一个字典Python

来自分类Dev

如何使用 if 语句作为字典键并填充另一个字典?

来自分类Dev

如何从另一个字典中减去一个字典的值并将结果写入第三个字典?

来自分类Dev

创建一个字典,该字典使用来自另一个字典的相同对,但键被翻译

来自分类Dev

创建一个值与另一个字典中的键相同的字典

来自分类Dev

如何将字典的内容复制到另一个字典以在之后清除原始字典

来自分类Dev

用另一个字典变量创建变量

来自分类Dev

如何从一个字典向另一个不同类型的字典添加条目?

来自分类Dev

如何在python上制作一个字典在另一个字典中以及在另一个字典中

来自分类Dev

另一个字典,另一个格式输出

来自分类Dev

在JavaScript中使用另一个字典创建字典时出现意外令牌

来自分类Dev

在JavaScript中使用另一个字典创建字典时出现意外令牌

来自分类Dev

通过使用另一个字典键和值构造一个字典

来自分类Dev

循环将一个字典附加到另一个字典

来自分类Dev

如何映射键,在另一个字典中查找键?

来自分类Dev

如何断言一个字典包含另一个字典,而在python中没有assertDictContainsSubset?

来自分类Dev

如何在一个字典中找到在另一个字典中没有对应项的键?

Related 相关文章

  1. 1

    如果满足某些条件,如何从另一个字典创建字典

  2. 2

    如何通过过滤某些项目从另一个字典创建一个字典?

  3. 3

    从另一个字典创建一个字典

  4. 4

    过滤字典以包含满足特定条件的另一个字典中的值

  5. 5

    如何根据一个字典在 Python 中查询另一个字典的值来修改或创建字典

  6. 6

    如何防止创建另一个字典

  7. 7

    根据另一个字典的特定值创建新的Python字典

  8. 8

    运用字典中的元素来创建另一个字典

  9. 9

    如何创建一个字典来显示另一个字典的哪些值属于哪些键

  10. 10

    将一个字典关键字与另一个字典值进行比较,然后创建一个新的字典

  11. 11

    如何将字典值映射到另一个字典

  12. 12

    如何用另一个字典过滤python字典?

  13. 13

    如何将字典映射到另一个字典Python

  14. 14

    如何使用 if 语句作为字典键并填充另一个字典?

  15. 15

    如何从另一个字典中减去一个字典的值并将结果写入第三个字典?

  16. 16

    创建一个字典,该字典使用来自另一个字典的相同对,但键被翻译

  17. 17

    创建一个值与另一个字典中的键相同的字典

  18. 18

    如何将字典的内容复制到另一个字典以在之后清除原始字典

  19. 19

    用另一个字典变量创建变量

  20. 20

    如何从一个字典向另一个不同类型的字典添加条目?

  21. 21

    如何在python上制作一个字典在另一个字典中以及在另一个字典中

  22. 22

    另一个字典,另一个格式输出

  23. 23

    在JavaScript中使用另一个字典创建字典时出现意外令牌

  24. 24

    在JavaScript中使用另一个字典创建字典时出现意外令牌

  25. 25

    通过使用另一个字典键和值构造一个字典

  26. 26

    循环将一个字典附加到另一个字典

  27. 27

    如何映射键,在另一个字典中查找键?

  28. 28

    如何断言一个字典包含另一个字典,而在python中没有assertDictContainsSubset?

  29. 29

    如何在一个字典中找到在另一个字典中没有对应项的键?

热门标签

归档