如何为团队添加名称?

时间:2018-11-07 22:44:52

标签: python-3.x

我正试图将它们分成三组,每组两个人。我不确定我该从哪里去。我不知道如何有效地将两个人添加到一个组中。

所以它应该看起来像这样

group_one = {'2': dan, '8': tom} 
group_two = {'10': james, '12': emily} 
group_three = {'7': kim , '13': jones}

2 个答案:

答案 0 :(得分:2)

您可以在dict理解内对列表进行切片以创建每个变量:

group_one = {i[1]:i[0] for i in my_list[0:2]}
group_two = {i[1]:i[0] for i in my_list[2:4]}
group_three = {i[1]:i[0] for i in my_list[4:6]}

>>> group_one
{2: 'dan', 8: 'tom'}
>>> group_two
{10: 'james', 12: 'emily'}
>>> group_three
{7: 'kim', 13: 'jones'}

答案 1 :(得分:1)

@Sacul代码很好。但是,如果您想要更小的解决方案,请执行以下操作:

>>> my_list = [['dan',2],['tom',8],['james',10],['emily',12],['kim',7],['jones',13]]

>>> teams = [{i[1] : i[0] for i in my_list[n:n+2]} for n in range(0, len(my_list), 2)]
[{2: 'dan', 8: 'tom'}, {10: 'james', 12: 'emily'}, {7: 'kim', 13: 'jones'}]

现在,您的团队被拆分并存储在词典列表中。

要使它们使用不同的变量,例如group_onegroup_twogroup_three,请使用拆包。

>>> group_one, group_two, group_three = teams  # Or simply use the code of teams