a=[[1,2,3],[4,5,6],[7,8,9]]
.pop()不仅可以删除列表中的元素,还可以返回该元素。
我正在寻找一个类似的功能,可以删除并返回可能存在于另一个列表中间的整个列表。
例如,有一个函数会从上面的列表[4,5,6]
中删除a
,并将其返回。
问题的原因是我正在通过itemgetter
对列表进行排序,并且标题行(字符串)与其余数据(datetime
)之间存在冲突。因此,我希望有效地弹出代表标题的列表,进行排序,然后将其重新插入。
答案 0 :(得分:15)
嵌套列表只是外部列表中的值。只需在外部列表中使用.pop()
:
inner_list = a.pop(1)
演示:
>>> a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> a.pop(1)
[4, 5, 6]
>>> a
[[1, 2, 3], [7, 8, 9]]
如果标题行阻碍,您可以使用切片来删除第一行:
result = rows[:1] + sorted(rows[1:], key=itemgetter(1))