马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
li = [
['张XX', ['周1', '语文', '早班', 'xxx', 'YYY']],
['张XX', ['周2', '数学', '中班', 'xxx', 'YYY']],
['张XX', ['周3', '语文', '中班', 'xxx', 'YYY']],
['张XX', ['周4', '体育', '晚班', 'xxx', 'YYY']],
['张XX', ['周5', '语文', '中班', 'xxx', 'YYY']],
['张XX', ['周6', '音乐', '早班', 'xxx', 'YYY']],
['张XX', ['周7', '语文', '中班', 'xxx', 'YYY']],
['高美女', ['周1', '高数', '早班', 'xxx', 'YYY']],
['高美女', ['周2', '英文', '晚班', 'xxx', 'YYY']],
['高美女', ['周3', '体育', '早班', 'xxx', 'YYY']],
['高美女', ['周4', '音乐', '晚班', 'xxx', 'YYY']],
['高美女', ['周5', '比赛', '中班', 'xxx', 'YYY']],
['高美女', ['周6', '先锋', '晚班', 'xxx', 'YYY']],
['高美女', ['周7', '逛街', '早班', 'xxx', 'YYY']]
]
我现在有这么一个列表。 我要把它子元素中,第1个元素相同的, 把它再合成一个列表。
效果如下
new_list = [ [ '张XX' ,[ ['周1', '语文', '早班', 'xxx', 'YYY'],
['周2', '数学', '中班', 'xxx', 'YYY'],
['周3', '语文', '中班', 'xxx', 'YYY'],
['周4', '体育', '晚班', 'xxx', 'YYY'],
['周5', '语文', '中班', 'xxx', 'YYY'],
['周6', '音乐', '早班', 'xxx', 'YYY'],
['周7', '语文', '中班', 'xxx', 'YYY']
] ,
['高美女' ,[ ['周1', '高数', '早班', 'xxx', 'YYY'],
['周2', '英文', '晚班', 'xxx', 'YYY'],
['周3', '体育', '早班', 'xxx', 'YYY'],
['周4', '音乐', '晚班', 'xxx', 'YYY'],
['周5', '比赛', '中班', 'xxx', 'YYY'],
['周6', '先锋', '晚班', 'xxx', 'YYY'],
['周7', '逛街', '早班', 'xxx', 'YYY']
]
]
有什么办法可以弄这样??求教 ; 原列表中,相同人名的数据, 不一定是固定7条记录, 有可能是6条 或5条;
本帖最后由 永恒的蓝色梦想 于 2020-5-30 21:50 编辑 def function(array):
result={}
for name,values in array:
try:
result[name].append(values)
except KeyError:
result[name]=[values]
return [[i,j]for i,j in result.items()]
>>> li = [
['张XX', ['周1', '语文', '早班', 'xxx', 'YYY']],
['张XX', ['周2', '数学', '中班', 'xxx', 'YYY']],
['张XX', ['周3', '语文', '中班', 'xxx', 'YYY']],
['张XX', ['周4', '体育', '晚班', 'xxx', 'YYY']],
['张XX', ['周5', '语文', '中班', 'xxx', 'YYY']],
['张XX', ['周6', '音乐', '早班', 'xxx', 'YYY']],
['张XX', ['周7', '语文', '中班', 'xxx', 'YYY']],
['高美女', ['周1', '高数', '早班', 'xxx', 'YYY']],
['高美女', ['周2', '英文', '晚班', 'xxx', 'YYY']],
['高美女', ['周3', '体育', '早班', 'xxx', 'YYY']],
['高美女', ['周4', '音乐', '晚班', 'xxx', 'YYY']],
['高美女', ['周5', '比赛', '中班', 'xxx', 'YYY']],
['高美女', ['周6', '先锋', '晚班', 'xxx', 'YYY']],
['高美女', ['周7', '逛街', '早班', 'xxx', 'YYY']]
]
>>> newlist=function(li)
>>> newlist
[['张XX', [['周1', '语文', '早班', 'xxx', 'YYY'], ['周2', '数学', '中班', 'xxx', 'YYY'], ['周3', '语文', '中班', 'xxx', 'YYY'], ['周4', '体育', '晚班', 'xxx', 'YYY'], ['周5', '语文', '中班', 'xxx', 'YYY'], ['周6', '音乐', '早班', 'xxx', 'YYY'], ['周7', '语文', '中班', 'xxx', 'YYY']]], ['高美女', [['周1', '高数', '早班', 'xxx', 'YYY'], ['周2', '英文', '晚班', 'xxx', 'YYY'], ['周3', '体育', '早班', 'xxx', 'YYY'], ['周4', '音乐', '晚班', 'xxx', 'YYY'], ['周5', '比赛', '中班', 'xxx', 'YYY'], ['周6', '先锋', '晚班', 'xxx', 'YYY'], ['周7', '逛街', '早班', 'xxx', 'YYY']]]]
>>>
|