我正试图将它们分成三组,每组两个人。我不确定我该从哪里去。我不知道如何有效地将两个人添加到一个组中。
所以它应该看起来像这样
group_one = {'2': dan, '8': tom}
group_two = {'10': james, '12': emily}
group_three = {'7': kim , '13': jones}
答案 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_one
,group_two
和group_three
,请使用拆包。
>>> group_one, group_two, group_three = teams # Or simply use the code of teams