2012-03-18 38 views
16

Với chỉ mục chuỗi, có cách nào để cắt tới cuối chuỗi mà không sử dụng len() không? Chỉ số tiêu cực bắt đầu từ cuối, nhưng [-1] bỏ qua ký tự cuối cùng.Chỉ mục slice chuỗi Python - slice đến cuối chuỗi

word = "Help" 
word[1:-1] # But I want to grab up to end of string! 
word[1:len(word)] # Works but is there anything better? 
+0

này được bao phủ trong hướng dẫn Python và ở riêng [câu trả lời chuẩn] SO của (http: //stackoverflow.com/questions/509211/good-primer-for-python-slice-notation) cho các câu hỏi lát. – DSM

+0

OK cảm thấy tự do xóa nếu đó là spam! – MachineElf

Trả lời

22

Bạn thay vì có thể thử sử dụng:

word[1:] 
+1

Đầu tiên! Cảm ơn mọi người. Python viết tắt là thực sự tốt đẹp khi đến từ Javascript, chỉ cần một chút khó hiểu phân biệt [1:] [-1:] [: 1] [: -1] lúc đầu tiên ... – MachineElf

4

Vâng, tất nhiên, bạn nên:

word[1:] 
3

Bạn đang tìm kiếm này?

>>> word = "Help" 
>>> word[1:] 
'elp' 
13

Hoặc thậm chí:

>>> word = "Help" 
>>> word[-3:] 
'elp' 
4

tôi thấy mình cần phải xác định các chỉ số cuối như là một biến đầu vào trong một hàm. Trong trường hợp đó, bạn có thể thực hiện end=None. Ví dụ:

def slice(val,start=1,stop=None) 
    return val[start:stop] 

word = "Help" 
slice(word) # output: 'elp' 
+1

Cảm ơn! Đây chính xác là những gì tôi đang tìm kiếm khi tôi đến đây. Tôi tưởng tượng nó có liên quan đến nhiều người khác nữa. –

+1

Vâng, tôi cũng vậy .... –

-1
word="Help" 
word[:] 

'Trợ giúp'

Tôi hy vọng điều này sẽ giúp bạn

Các vấn đề liên quan