2010-09-01 39 views
5

tôi có một danh sách:Làm thế nào để loại bỏ đầu và đuôi không gian từ chuỗi trong một danh sách Python

row=['hi', 'there', 'how', ...........'some stuff is here are ','you'] 

như bạn có thể nhìn thấy row[8]='some stuff is here are '

nếu ký tự cuối cùng là một không gian tôi muốn để có được tất cả mọi thứ ngoại trừ ký tự cuối cùng như sau:

if row[8][len(row[8])-1]==' ': 
    row[8]=row[8][0:len(row[8])-2] 

phương pháp này không hoạt động. ai đó có thể đề nghị một cú pháp tốt hơn xin vui lòng?

+1

Ý anh là gì bởi "không làm việc"? lỗi gì bạn nhận được? –

+0

Thực ra, tôi không thể thấy rằng 'hàng [8]' là ''một số thứ ở đây'' - bạn bỏ qua phần đó. Nếu nó là, mã bạn có, trong khi không phải là Pythonic nhất, đã có thể làm việc. – Thanatos

+0

@Thanatos bạn có thể vui lòng đề nghị làm thế nào tôi có thể làm cho nó thêm pythonic –

Trả lời

7
row = [x.strip() for x in row] 

(nếu bạn chỉ muốn để có được không gian ở cuối, sử dụng rstrip)

+0

Điều này cũng loại bỏ các không gian hàng đầu. OP có thể không muốn điều đó. Xem 'rstrip()'. – MAK

4

Chỉ số âm tính từ cuối. Và lát được neo trước khi chỉ số được đưa ra.

if row[8][-1]==' ': 
    row[8]=row[8][:-1] 
+0

trên dòng đầu tiên: IndexError: chuỗi chỉ số ra khỏi phạm vi –

+0

Sau đó, bạn đang làm điều gì đó sai trái. Không muốn kiểm tra xem chiều dài có lớn hơn 0. –

+1

@ user2982349-this-a-a-terrible-name: Bạn có chắc chắn hàng [8] không phải là '' không? – Thanatos

4

Vì vậy, bạn muốn nó không có dấu cách? Bạn có thể sử dụng row[8].rstrip không?

+3

Không nên là 'hàng [8] .rstrip()'? – MAK

+0

@MAK: Dĩ nhiên là bạn đúng. Tôi đã lười biếng và chỉ đưa ra tên phương thức;) – Daenyth

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