Len() cua mot danh sach o 1 Python?

List trong Python là một trong 4 phương thức có sẵn, nó dùng để lưu trữ nhiều item dưới một biến duy nhất. Các mục trong danh sách được sắp xếp theo thứ tự và có thể thay đổi, đồng thời chúng cũng có thể được sao chép

Cấu trúc dữ liệu danh sách trong python lưu trữ một tập hợp các phần tử. Các phần tử này không nhất thiết phải có cùng kiểu dữ liệu. Danh sách cũng có thể có các mục trùng lặp

Tất cả các mục trong danh sách được phân tách bằng dấu phẩy và được đặt trong dấu ngoặc vuông []

Ví dụ

list1 = ['Hello', 5673, 90.32, 'A', [1,2,3]];

Danh sách trên chứa Chuỗi 'Xin chào', Ký tự 'A', float 90. 32, số nguyên 5673 và một danh sách khác[1,2,3] làm các phần tử của nó

Để tìm độ dài của danh sách trong python, có các phương pháp cơ bản và thông dụng nhất

Phương pháp ngây thơ

Phương thức ngây thơ là một cách tiếp cận rất chung chung và nó không yêu cầu bất kỳ phương thức được xác định trước nào. Chúng tôi chỉ cần chạy một vòng lặp và tăng bộ đếm cho đến khi chúng tôi tìm thấy phần tử cuối cùng của danh sách. Chiến lược này có thể được sử dụng với nhiều cấu trúc dữ liệu và trong hầu hết các ngôn ngữ lập trình khi không có các kỹ thuật hiệu quả khác

Hãy để chúng tôi lấy một ví dụ và tìm độ dài của danh sách đã cho bằng phương pháp Naive

my_list = ["German","Hindi","English","Portuguese","Korean","Russian"]
count = 0
for i in my_list:
    count+=1
print["No. of items in the list = ",count]

đầu ra

No. of items in the list =  6

Như chúng ta có thể thấy trong ví dụ trên, vòng lặp for thăm từng phần tử của danh sách. Số lượng biến được tăng lên với mỗi phần tử. Cuối cùng, chúng tôi chỉ cần trả về số lượng

Sử dụng len[]

Phương thức len[] lấy một iterable làm tham số và trả về độ dài của iterable. Đây là kỹ thuật thông thường nhất và được sử dụng nhiều nhất để tìm độ dài của hầu hết các cấu trúc dữ liệu hoặc đối tượng trong python. Đây là một hàm tích hợp trong python trả về độ dài của danh sách, bộ dữ liệu, mảng, từ điển, v.v.

Hoạt động của len[]

Trong python, bên trong một biến lưu trữ độ dài của danh sách ban đầu được tạo bằng cách tạo danh sách. hàm len[] gọi phương thức __len__[]. Phương thức __len__[] này được xác định trước trong các lớp iterables. Thuộc tính này rẻ và dễ bảo trì. Nó được tăng lên nếu chúng ta thêm các phần tử vào danh sách và giảm đi trong trường hợp một phần tử bị xóa khỏi danh sách. Phương thức __len__[] sử dụng biến để trả về độ dài của danh sách

cú pháp

len[list] trả về kích thước của danh sách dưới dạng số nguyên. Chúng ta có thể lưu trữ nó trong một biến hoặc đơn giản là in nó ra

Thí dụ

Giả sử chúng ta có một danh sách mà chúng ta muốn chia thành hai nửa. hình vuông lưu trữ danh sách thực tế. list1 và list2 sẽ là hai danh sách sao cho list1 sẽ lưu trữ nửa ô vuông đầu tiên và list2 sẽ lưu trữ nửa ô vuông còn lại

squares = [1,4,9,16,25,36,49,64,81,100]
# splitting list in two halfs
length = len[squares]
list1 = []
list2 = []
for i in range[0,int[length/2]]:
    list1.append[squares[i]]
for i in range[int[length/2],length]:
    list2.append[squares[i]]
print[list1]
print[list2]

đầu ra

[1, 4, 9, 16, 25]
[36, 49, 64, 81, 100]

Trong ví dụ trên, square lưu trữ bình phương của 10 số đầu tiên. list1 sẽ lưu 5 số đầu tiên của ô vuông và list2 sẽ lưu 5 số còn lại từ ô vuông. Để chia nó thành hai nửa, chúng tôi đang sử dụng độ dài của danh sách. Chúng tôi chia độ dài cho 2, chạy vòng lặp for cho cả hai phạm vi [i. e. 0 với chiều dài/2 và chiều dài/2 với chiều dài] và nối các phần tử vào danh sách tương ứng.

Độ dài của Danh sách

Danh sách này cũng có thể chứa một danh sách khác. Để tìm độ dài của danh sách cha chứa danh sách khác, phương thức len[] được sử dụng

Ví dụ

parent_list = [['a','b','c'],['1','2'],"Hello"]
print["length of parent list: ", len[parent_list]]
for i in parent_list:
    print["list: ",i,"; length of list: ",len[i]]

đầu ra

length of parent list:  3
list:  ['a', 'b', 'c'] ; length of list:  3
list:  ['1', '2'] ; length of list:  2
list:  Hello ; length of list:  5

parent_list trong ví dụ trên chứa 3 phần tử, trong đó có 2 phần tử là danh sách và chuỗi. Độ dài của danh sách cha sử dụng hàm len[] là 3. Vì vậy, nó không tính các phần tử của danh sách con. Độ dài của danh sách bên trong cũng được đưa ra bởi hàm len[]

Sử dụng length_hint[]

Hàm length_hint[] có trong mô-đun toán tử. Nó cho biết số lượng các mục có trong danh sách cụ thể. Nó nhận một iterable làm đối số và trả về độ dài của đối tượng

Nó thuận lợi hơn len[] vì nó có thể xử lý nhiều loại dữ liệu hơn nhưng hàm len[] đáng tin cậy hơn vì phương thức này không phải lúc nào cũng trả về số lượng mục chính xác. Đây là một chức năng ít được biết đến trong python để tìm độ dài của danh sách đã cho

Giống như phương thức len[], nó cũng gọi __len__[] theo độ dài của danh sách. __len__[] lưu trữ bên trong một biến cùng với các phần tử danh sách. Biến này được tăng lên khi một phần tử được thêm vào danh sách và được giảm đi khi một phần tử bị xóa

Hãy để chúng tôi lấy một ví dụ về danh sách và tìm độ dài của nó bằng cách sử dụng hàm length_hint[]

from operator import length_hint
myList = ["Rachel", "Monica", "Chandler", "Phoebe", "Ross", "Joey"]
print["Length of myList - ",length_hint[myList]]

đầu ra

Như chúng ta có thể thấy trong ví dụ trên, length_hint hoạt động giống như phương thức len[]. Chúng tôi được yêu cầu nhập nó từ toán tử

Naive vs len[] vs length_hint[] So sánh

Naivelen[]length_hint[] Không gọi bất kỳ phương thức nào cho giá trị được lưu trữ. Nó gọi nội bộ phương thức __len__[]. Nó cũng gọi phương thức __len__[]. Nó luôn luôn chính xác. Nó luôn luôn chính xác. Nó không phải lúc nào cũng chính xácPhương thức ngây thơ truy cập từng phần tử của danh sách. Giả sử danh sách có n phần tử, do đó độ phức tạp thời gian của một vòng lặp chạy để thăm từng phần tử là O[n]. Vì nó trực tiếp lấy giá trị độ dài từ biến, độ phức tạp thời gian của len[] là O[1]. Độ phức tạp về thời gian của length_hint[] cũng là O[1]. Ít hiệu quả hơn so với hai phương pháp còn lại. Hiệu quả so với phương pháp Naive. phương pháp hiệu quả

Len có tính từ 0 không?

Hàm len[] trả về độ dài của một chuỗi, số ký tự trong đó. Có một chuỗi gồm 0 ký tự là hợp lệ , được viết dưới dạng '' , được gọi là "chuỗi rỗng". Độ dài của chuỗi rỗng là 0.

Là list append O 1 Python?

Độ phức tạp về thời gian cho Append trong Python . e. O[1] This function has constant time complexity i.e. O[1] , vì danh sách được truy cập ngẫu nhiên nên có thể đạt được phần tử cuối cùng trong thời gian O[1], đó là lý do tại sao thời gian cần thiết để thêm phần tử mới vào cuối danh sách là O .

Thời gian chạy tìm độ dài của danh sách Python sử dụng ký hiệu O[] là gì?

Độ phức tạp thời gian chạy của hàm len[] trong danh sách Python của bạn là O[1] . Phải mất thời gian chạy liên tục cho dù có bao nhiêu phần tử trong danh sách. Tại sao? .

Len có nghĩa là gì trong Python?

Hàm len[] là một trong những hàm có sẵn của Python. Nó trả về độ dài của một đối tượng . Ví dụ: nó có thể trả về số lượng mục trong danh sách. Bạn có thể sử dụng hàm với nhiều kiểu dữ liệu khác nhau.

Chủ Đề