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?
6
A
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.
Các vấn đề liên quan
- 1. Tại sao strsplit trả về một danh sách
- 2. Tại sao scipy.io.wavfile.read không trả về một bộ tuple?
- 3. Loại (3,) trả về một số nguyên thay vì một tuple trong python, tại sao?
- 4. Tại sao dict.keys của Python() trả về một danh sách chứ không phải một bộ?
- 5. Trả về một tuple trong Swift
- 6. Selenium: Tại sao phương thức get_cookies() của tôi trả về một danh sách bằng Python?
- 7. Python: Regex findall trả về một danh sách, tại sao cố truy cập phần tử danh sách [0] trả về lỗi?
- 8. Tại sao List.add (E) trả về boolean trong khi List.Add (int, E) trả về void?
- 9. Tại sao một từ điển bị xích .get() trong python trả về một tuple khi mặc định được cung cấp không phải là một bộ tuple?
- 10. Collections.emptyList() trả về một Danh sách <Object>?
- 11. Tại sao xpath bên trong một vòng lặp selector vẫn trả về một danh sách trong hướng dẫn
- 12. Tại sao "[:: - 1]" trả về danh sách được đảo ngược bằng Python?
- 13. Tại sao Python trả về các chỉ mục danh sách phủ định?
- 14. Tại sao read() trong FileInputStream trả về một số nguyên?
- 15. ServletFileUpload # parseRequest (yêu cầu) trả về một danh sách trống
- 16. HttpServletRequest # getParts() trả về một danh sách trống
- 17. C# 5.0 async đang chờ trả về một danh sách
- 18. Tại sao nó hoạt động để trả về một int trong một phương thức mà trả về một đối tượng?
- 19. Tại sao Type.GetElementType trả về null?
- 20. Tại sao sapply() trả lại một danh sách?
- 21. Tại sao mã này KHÔNG trả về một NullPointerException?
- 22. Tại sao ShowDialog luôn trả về DialogResult.Cancel?
- 23. Tại sao os.path.isfile trả về Sai?
- 24. Lấy một bản đồ() để trả về một danh sách bằng Python 3.x
- 25. Áp dụng một tuple chức năng đến một giá trị và trả về một tuple
- 26. Danh sách trả về AsyncTask hoạt động
- 27. ElementTree findall() trả về danh sách trống
- 28. C++ 11 Mẫu biến thể: trả về tuple từ danh sách biến số vectơ
- 29. Tại sao random.shuffle trả về None?
- 30. Tại sao Array.prototype.every trả về true trên một mảng trống?
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. –