2010-10-25 43 views
57

Tôi mới sử dụng Python. Tôi thấy : được sử dụng trong các chỉ mục danh sách, đặc biệt là khi nó được liên kết với các cuộc gọi chức năng.Colon (:) trong chỉ mục danh sách Python

Tài liệu Python 2.7 gợi ý rằng lists.append chuyển thành a[len(a):] = [x]. Tại sao người ta cần hậu tố len(a) bằng dấu hai chấm?

Tôi hiểu rằng : được sử dụng để xác định các khóa trong từ điển.

+4

Tôi lấy trăn 4.7 ở đâu? Tôi muốn! Trong 2.7, [Hướng dẫn] (http://docs.python.org/tutorial/introduction.html#lists) bao gồm câu hỏi của bạn khá độc đáo. – aaronasterling

Trả lời

94

: là delimiter của cú pháp lát để 'cắt ra' tiểu bộ phận trong chuỗi, [start:end]

[1:5] is equivalent to "from 1 to 5" (5 not included) 
[1:] is equivalent to "1 to end" 
[len(a):] is equivalent to "from length of a to end" 

Xem http://www.youtube.com/watch?v=tKTZoB2Vjuk vào khoảng 40:00 ông bắt đầu giải thích rằng.

Làm việc với bộ dữ liệu, từ điển và danh sách.

+7

Hãy nhớ rằng [1: 5] bắt đầu với đối tượng ở chỉ mục 1 và đối tượng tại chỉ mục 5 không được bao gồm. Bạn cũng có thể tạo một bản sao mềm của một danh sách với [:] –

+2

Bởi vì nó không thực sự dễ dàng với dấu chấm câu của Google như ':', tôi đặc biệt đánh giá cao việc tìm câu trả lời của bạn và thấy nó hữu ích. Ngay cả khi sử dụng một cái gì đó như symbolhound, nó thường được sử dụng mà tôi sợ tôi sẽ không thể tìm thấy một câu trả lời một cách nhanh chóng. –

+0

Không hoạt động với từ điển. áp dụng d [: 5] là eqivalent của d .__ getitem __ (slice (0, 5, None)). Một lát không thể băm. –

7

a[len(a):] - Điều này giúp bạn có độ dài từ đầu đến cuối. Nó chọn một phạm vi. Nếu bạn đảo ngược a[:len(a)] nó sẽ giúp bạn bắt đầu bất cứ điều gì là len(a).

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