如何在一步中复制列表列表并从每个列表中删除最后一个元素?我可以做这样的事情,但想学习一步完成:
test2 = [["A","A","C"],
["C","A"],
["A","B","C","A"]]
import copy
test3 = copy.deepcopy(test2)
for item in test3:
del item[-1]
在一个步骤中,您将需要使用列表推导式。假设您的列表只有二维并且子列表由标量组成,您可以使用切片语法来创建副本。
>>> [x[:-1] for x in test2]
[['A', 'A'], ['C'], ['A', 'B', 'C']]
如果您的子列表包含可变/自定义对象,请copy.deepcopy
在表达式内部调用。
>>> [copy.deepcopy(x[:-1]) for x in test2]
[['A', 'A'], ['C'], ['A', 'B', 'C']]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句