我需要從函數內的列表中刪除前N個元素,我希望修改原始列表。在Python中執行此操作的簡明方法是什麼?如何在Python中切片列表而不復制參考?
使用slice
不起作用,因爲slice操作返回對列表的單獨引用。在這個例子中,我想調用函數後pkt
爲[3,4,5]
。
>>>> def process_packet(packet, num_bytes):
# ...
packet = packet[num_bytes:len(packet)]
print packet
>>> pkt = [1,2,3,4,5]
>>> process_packet(pkt, 2)
[3, 4, 5]
>>> print pkt
[1, 2, 3, 4, 5]
'packet [:] = packet [num_bytes:]' –