我如何重新排序以下子列表,以便我可以将索引4处的项目移动到所有子列表中的索引0?
lsta = [['not','c','d','e','app','f'],['not','c','d','e','bear','f'],['not','c','d','e','cat','f']]
Desired_List= [['app','not','c','d','e','f'],['bear','not','c','d','e','f'],['cat','not','c','d','e','f']]
我想将原始列表中的每个索引4移动到索引0?我不能使用sort,因为索引4处的项可以是整数或字符串
答案 0 :(得分:3)
用于处理将原始列表的每个索引4移动到索引0的编辑:
lsta = [['not','c','d','e','app','f'],['not','c','d','e','bear','f'],['not','c','d','e','cat','f']]
Desired_List = [lst[4:5]+lst[:4]+lst[5:] for lst in lsta]
或者,如果您不需要保留原始版本,则只需使用以下内容修改lsta
:
for lst in lsta:
lst.insert(0, lst.pop(4))
答案 1 :(得分:2)
我相信最短的形式是:
Desired_List= [[s[4]]+s[:4]+s[5:] for s in lsta]
使用pop
和insert
可能会更有效,具体取决于您的列表大小