根据值对Python中的字典列表进行分区

用户6536435

我遇到编码挑战,需要我创建一个逻辑,将字典列表划分为三个新的字典列表。新列表需要具有相同数量的经验丰富和经验不足的人员。原始名单上有偶数的经验丰富和经验不足的人员。我不知道如何形成应对这一挑战的逻辑。这是一个简化的版本:

mylist = [
    {'name': 'Jade', 'height': 64, 'experience': 'n'}, 
    {'name': 'Diego', 'height': 60, 'experience': 'y'},
    {'name': 'Twee', 'height': 70, 'experience': 'n'}, 
    {'name': 'Wence', 'height': 72, 'experience': 'y'},
    {'name': 'Shubha', 'height': 65, 'experience': 'y'},
    {'name': 'Taylor', 'height': 68, 'experience': 'n'}
]

新的dict需要具有相同数量的经验丰富和缺乏经验的人员,例如:

newlist_1 = [
    {'name': 'Diego', 'height': 60, 'experience': 'y'},
    {'name': 'Jade', 'height': 64, 'experience': 'n'},
]

newlist_2 = [
    {'name': 'Wence', 'height': 72, 'experience': 'y'},
    {'name': 'Twee', 'height': 70, 'experience': 'n'},           
]

newlist_3 = [
    {'name': 'Shubha', 'height': 65, 'experience': 'y'},
    {'name': 'Taylor', 'height': 68, 'experience': 'n'}
]

我保留了原始列表,因此最终总共需要四个集合。

布法罗·罗伯
def make_teams(my_list):

  # divide the member list in two
  experienced = list()
  novice = list()
  for record in my_list:
    if record.get('experience') in ['Y','y']:
      experienced.append(record)
    else:
      novice.append(record)

  # stitch the two lists together as a list of tuples
  teams = zip(experienced, novice)

  # build a dictionary result starting with the member list
  results={
    'members':my_list
  }

  # update results with each team
  for i in range(0,len(teams)):
    results.update(
        {'newlist_%s'%(i+1):list(teams[i])})

  return results

将产生以下...

from pprint import pprint
pprint(make_teams(mylist))

{'members': [{'experience': 'n', 'height': 64, 'name': 'Jade'},
             {'experience': 'y', 'height': 60, 'name': 'Diego'},
             {'experience': 'n', 'height': 70, 'name': 'Twee'},
             {'experience': 'y', 'height': 72, 'name': 'Wence'},
             {'experience': 'y', 'height': 65, 'name': 'Shubha'},
             {'experience': 'n', 'height': 68, 'name': 'Taylor'}],
 'newlist_1': [{'experience': 'y', 'height': 60, 'name': 'Diego'},
               {'experience': 'n', 'height': 64, 'name': 'Jade'}],
 'newlist_2': [{'experience': 'y', 'height': 72, 'name': 'Wence'},
               {'experience': 'n', 'height': 70, 'name': 'Twee'}],
 'newlist_3': [{'experience': 'y', 'height': 65, 'name': 'Shubha'},
               {'experience': 'n', 'height': 68, 'name': 'Taylor'}]}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:根据列表更改字典中的值?

来自分类Dev

根据每个元组中的值对元组进行分区列表

来自分类Dev

根据值中列表的值进行字典排序

来自分类Dev

根据整数列表中的值对字典进行排序

来自分类Dev

根据嵌套字典中的值对列表进行排序

来自分类Dev

如何根据字典值对列表进行排序?

来自分类Dev

Python通过列表中的字典值对列表进行排序

来自分类Dev

Python根据值从字典列表中删除重复项

来自分类Dev

Python根据值从字典列表中删除重复项

来自分类Dev

升序对返回字典中的值列表进行排序-Python

来自分类Dev

根据值在列表中组合字典

来自分类Dev

Python-根据列表字典中的出现对列表中的项目进行分类

来自分类Dev

在字典中将字典值与列表进行比较,并在Python中按列表的顺序返回键

来自分类Dev

Python 字典包含列表作为值 - 如何根据其他输入进行更新

来自分类Dev

如何根据Python列表中存在的值从列表中删除字典?

来自分类Dev

Python:从列表内元组中的字典中获取字典值并对其进行处理

来自分类Dev

根据条件从列表字典中的值创建列表

来自分类Dev

如何根据 Python 中其他键的值增加字典列表中的特定键

来自分类Dev

根据python字典中的值获取键

来自分类Dev

如何根据列表的值作为字典的值以降序对字典进行排序?

来自分类Dev

根据给定的总分区和分区号对列表进行分区

来自分类Dev

根据C#中的键对字典列表进行排序

来自分类Dev

在python字典中对键值对的列表进行排序

来自分类Dev

Python:Python:对字典中的值进行排序?

来自分类Dev

在Python中的字典值中对列表中的各种项目的出现进行计数

来自分类Dev

根据用户输入提供的一个值从列表中删除字典-Python

来自分类Dev

比较Python中字典列表中的值

来自分类Dev

在python中遍历字典值中的列表

来自分类Dev

使用Python在字典值中的元组列表中对项目进行排序

Related 相关文章

  1. 1

    Python:根据列表更改字典中的值?

  2. 2

    根据每个元组中的值对元组进行分区列表

  3. 3

    根据值中列表的值进行字典排序

  4. 4

    根据整数列表中的值对字典进行排序

  5. 5

    根据嵌套字典中的值对列表进行排序

  6. 6

    如何根据字典值对列表进行排序?

  7. 7

    Python通过列表中的字典值对列表进行排序

  8. 8

    Python根据值从字典列表中删除重复项

  9. 9

    Python根据值从字典列表中删除重复项

  10. 10

    升序对返回字典中的值列表进行排序-Python

  11. 11

    根据值在列表中组合字典

  12. 12

    Python-根据列表字典中的出现对列表中的项目进行分类

  13. 13

    在字典中将字典值与列表进行比较,并在Python中按列表的顺序返回键

  14. 14

    Python 字典包含列表作为值 - 如何根据其他输入进行更新

  15. 15

    如何根据Python列表中存在的值从列表中删除字典?

  16. 16

    Python:从列表内元组中的字典中获取字典值并对其进行处理

  17. 17

    根据条件从列表字典中的值创建列表

  18. 18

    如何根据 Python 中其他键的值增加字典列表中的特定键

  19. 19

    根据python字典中的值获取键

  20. 20

    如何根据列表的值作为字典的值以降序对字典进行排序?

  21. 21

    根据给定的总分区和分区号对列表进行分区

  22. 22

    根据C#中的键对字典列表进行排序

  23. 23

    在python字典中对键值对的列表进行排序

  24. 24

    Python:Python:对字典中的值进行排序?

  25. 25

    在Python中的字典值中对列表中的各种项目的出现进行计数

  26. 26

    根据用户输入提供的一个值从列表中删除字典-Python

  27. 27

    比较Python中字典列表中的值

  28. 28

    在python中遍历字典值中的列表

  29. 29

    使用Python在字典值中的元组列表中对项目进行排序

热门标签

归档