2015-04-04 14 views
6

So sánh của Python str.split() với str.partition(), tôi thấy rằng chúng không chỉ có các hàm khác nhau (split() mã hóa toàn bộ chuỗi tại mỗi lần xuất hiện của dấu phân tách, trong khi partition() chỉ trả về mọi thứ trước và sau khi xuất hiện dấu phân tách đầu tiên), nhưng chúng cũng có các kiểu trả về khác nhau. Tức là, str.split() trả về một số list trong khi str.partition() trả lại một tuple. Điều này là quan trọng vì list có thể thay đổi trong khi tuple thì không. Có bất kỳ lý do cố ý nào đằng sau lựa chọn này trong thiết kế API hay không hay chỉ là "mọi thứ." Tôi tò mò.Python: Tại sao str.split() Trả về một danh sách Trong khi str.partition() Trả về một tuple?

Trả lời

9

Sự khác biệt chính giữa các phương pháp đó là split() trả về số lượng kết quả thay đổi và partition() trả về số cố định. Các bộ dữ liệu thường không được sử dụng cho các API trả về một số lượng các mục.

+0

Cảm ơn rất nhiều. Là một người mới làm quen với Python, tôi đặc biệt biết ơn về cái nhìn sâu sắc về việc sử dụng kiểu trả về của tuple trong các API nói chung. –

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