2009-03-07 33 views
26

Tôi đang gặp một số khó khăn để tìm hiểu làm thế nào để cắt danh sách trăn, nó được minh họa như sau:Làm thế nào để cắt một danh sách từ một phần tử n đến cuối trong python?

>>> test = range(10) 
>>> test 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> test[3:-1] 
[3, 4, 5, 6, 7, 8] 
>>> test[3:0] 
[] 
>>> test[3:1] 
[] 
>>> test 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 

Để hiểu biết của tôi, trăn lát nghĩa lst [bắt đầu: cuối], và trong đó có bắt đầu, trừ kết thúc. Vì vậy, làm thế nào tôi sẽ đi về việc tìm kiếm "phần còn lại" của một danh sách bắt đầu từ một phần tử n?

Cảm ơn rất nhiều vì sự giúp đỡ của bạn!

Trả lời

45

Bạn có thể để một đầu của lát mở bằng cách không chỉ định giá trị.

test[3:] = [3, 4, 5, 6, 7, 8, 9] 
test[:3] = [0, 1, 2] 
8

Chỉ cần bỏ qua phần cuối.

test[n:] 
34

Nếu bạn đang sử dụng biến làm điểm cuối phạm vi, bạn có thể sử dụng None.

start = 4 
end = None 
test[start:end] 
2

Rời ra cuối cùng vẫn hoạt động khi bạn muốn bỏ qua một số:

range(10)[3::2] => [3, 5, 7, 9] 
1

Return một lát danh sách sau khi một giá trị khởi đầu:

list = ['a','b','c','d'] 
start_from = 'b' # value you want to start with 
slice = list[list.index(start_from):] # returns slice from starting value to end 
Các vấn đề liên quan