Python Hàm len(): Cách tìm độ dài của chuỗi
⚡ Tóm tắt thông minh
Python len() là một hàm tích hợp trả về số lượng phần tử trong một đối tượng, chẳng hạn như các ký tự trong một chuỗi hoặc các phần tử trong một danh sách, bộ dữ liệu, từ điển hoặc tập hợp.

Là gì Python Hàm len()?
len () hàm là một hàm tích hợp sẵn trong PythonBạn có thể sử dụng `len()` để lấy độ dài của một chuỗi, mảng, danh sách, bộ dữ liệu, từ điển và các đối tượng khác. Vì số lượng phần tử được lưu trữ trên đối tượng thay vì được tính toán lại mỗi lần, `len()` giúp bạn kiểm tra kích thước nhanh chóng và tối ưu hóa hiệu suất chương trình.
Cú pháp của Python hàm len()
Python Hàm len() sử dụng cú pháp sau:
len(value)
Thông số Kỹ thuật
giá trị: Đối tượng được chỉ định — chẳng hạn như chuỗi ký tự, danh sách, bộ dữ liệu, từ điển hoặc tập hợp — mà bạn muốn đo độ dài.
Trở lại giá trị
Hàm `len()` trả về một số nguyên, tức là số ký tự trong một chuỗi hoặc số phần tử trong một mảng, danh sách hoặc tập hợp. Ý nghĩa chính xác của giá trị trả về phụ thuộc vào loại đối tượng được truyền vào:
- Dây: Hàm len() trả về số lượng ký tự trong chuỗi, bao gồm dấu câu, khoảng trắng và tất cả các loại ký tự đặc biệt.
- Trống: Chuỗi rỗng hoặc tập hợp rỗng trả về 0, vì nó không chứa phần tử nào.
- Bộ sưu tập: Hàm tích hợp len() trả về số lượng phần tử được lưu trữ trong một tập hợp.
- LoạiError: Hàm `len()` phụ thuộc vào kiểu dữ liệu của đối tượng được truyền vào. Việc truyền vào một giá trị không có độ dài, chẳng hạn như số nguyên, sẽ gây ra lỗi `TypeError`.
- Từ điển: Đối với từ điển, mỗi cặp khóa-giá trị được tính là một đơn vị, vì vậy hàm len() trả về số lượng khóa.
Ví dụ về Python hàm len()
Các ví dụ sau đây minh họa cách sử dụng hàm len() để tìm độ dài của các chuỗi khác nhau. Python Các đối tượng, bao gồm chuỗi, danh sách, bộ dữ liệu, từ điển và mảng.
Ví dụ 1: Cách tìm độ dài của một chuỗi
# testing len()
str1 = "Welcome to Guru99 Python Tutorials"
print("The length of the string is :", len(str1))
Đầu ra:
The length of the string is : 35
Ví dụ 2: Cách tìm độ dài của một danh sách
# to find the length of the list
list1 = ["Tim","Charlie","Tiffany","Robert"]
print("The length of the list is", len(list1))
Đầu ra:
The length of the list is 4
Ví dụ 3: Cách tìm độ dài của một bộ dữ liệu (tuple)
# to find the length of the tuple
Tup = ('Jan','feb','march')
print("The length of the tuple is", len(Tup))
Đầu ra:
The length of the tuple is 3
Ví dụ 4: Cách tìm độ dài của từ điển
# to find the length of the Dictionary
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("The length of the Dictionary is", len(Dict))
Đầu ra:
The length of the Dictionary is 4
Ví dụ 5: Cách tìm độ dài của một mảng
# to find the length of the array
arr1 = ['Tim','Charlie','Tiffany','Robert']
print("The length of the Array is", len(arr1))
Đầu ra:
The length of the Array is 4
Cách tìm độ dài của chuỗi mà không cần dùng hàm len() Python
Hàm `len()` là cách nhanh nhất và dễ đọc nhất để đo độ dài chuỗi, nhưng bạn cũng có thể đếm ký tự thủ công. Đây là một bài tập phỏng vấn lập trình phổ biến, và mỗi phương pháp chỉ đơn giản là lặp qua chuỗi trong khi tăng bộ đếm.
Phương pháp phổ biến nhất sử dụng vòng lặp for:
# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
count += 1
print("The length is", count)
Đầu ra:
The length is 6
Một phương án ngắn gọn hơn sử dụng hàm sum() với biểu thức tạo, cộng thêm 1 cho mỗi ký tự trong chuỗi:
mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)
Đầu ra:
The length is 6
Các cách khác để đếm ký tự mà không cần dùng hàm len() bao gồm:
- Một vòng lặp while cắt chuỗi cho đến khi chuỗi rỗng, tăng bộ đếm sau mỗi lần cắt.
- Hàm enumerate(), mà tracks là chỉ số của mỗi ký tự khi nó lặp lại.
- Một hàm đệ quy trả về 1 cộng với độ dài của chuỗi con còn lại.
Các phương pháp thủ công này chậm hơn so với hàm len() tích hợp sẵn, vì vậy hãy dành chúng cho việc học tập hoặc luyện tập phỏng vấn. Trong lập trình hàng ngày, len() vẫn là lựa chọn nhanh nhất và rõ ràng nhất.
Làm thế nào Python Hàm `len()` hoạt động bên trong như thế nào?
Hiểu cách hoạt động của hàm `len()` sẽ giải thích tại sao nó lại nhanh như vậy. Khi bạn gọi hàm `len()` trên một đối tượng, Python Nó không quét từng phần tử một. Thay vào đó, nó gọi phương thức đặc biệt __len__() của đối tượng, có nghĩa là biểu thức len(x) tương đương với x.__len__().
Các kiểu dữ liệu tích hợp sẵn như chuỗi, danh sách, bộ dữ liệu, từ điển và tập hợp lưu trữ kích thước của chính chúng dưới dạng thuộc tính. Mỗi khi bạn thêm hoặc xóa một phần tử, Python Cập nhật giá trị đã lưu trữ này. Khi hàm len() được gọi, nó chỉ đơn giản là đọc giá trị đã lưu trữ trước đó và trả về giá trị đó.
Vì độ dài đã được biết trước, hàm len() chạy trong thời gian hằng số, được viết là O(1). Nó mất cùng một lượng thời gian cho dù đối tượng chứa năm mục hay năm triệu mục. Bạn cũng có thể thêm hỗ trợ len() vào các lớp của riêng mình bằng cách định nghĩa một phương thức __len__() trả về một số nguyên:
class Team:
def __len__(self):
return 11
squad = Team()
print(len(squad))
Đầu ra:
11
Thiết kế này giải thích tại sao hàm len() hoạt động nhất quán trên mọi kiểu dữ liệu tích hợp sẵn, cũng như bất kỳ đối tượng tùy chỉnh nào triển khai phương thức __len__().
" Học nhiều hơn về Python Phương thức chuỗi
