Các tính năng của danh sách trong python là gì?
Hướng dẫn này giải thích một số Hàm danh sách Python hữu ích với sự trợ giúp của các ví dụ về cú pháp và lập trình Show
Mặc dù các danh sách có các phương thức tác động trực tiếp lên đối tượng của nó, nhưng Python có các hàm tích hợp để tạo và thao tác các danh sách tại chỗ và không đúng chỗ Hầu hết các chức năng chúng ta sẽ đề cập trong hướng dẫn này sẽ áp dụng cho tất cả các chuỗi, bao gồm cả bộ và chuỗi, nhưng chúng ta sẽ tập trung vào cách các chức năng này áp dụng cho danh sách theo các chủ đề nhất định => Kiểm tra TẤT CẢ các hướng dẫn về Python tại đây Bạn sẽ học được gì Hàm danh sách PythonĐưa ra dưới đây là một số chức năng tích hợp trong danh sách Python quan trọng. Vui lòng truy cập để biết chi tiết về các chức năng này Danh sách các hàm tích hợp trong Python thường được sử dụng TênCú phápMô tảlenlen(s)Trả về số phần tử trong danh sách. listlist([iterable])Tạo một danh sách từ một iterable. rangerange([start,]stop[,step])Trả về một biến lặp của các số nguyên từ đầu đến cuối, với bước tăng dần. sumsum(iterable[,start])Thêm tất cả các mục của một lần lặp. minmin(iterable[,key, default]) Lấy phần tử nhỏ nhất trong chuỗi. maxmax(iterable[,key, default]) Lấy phần tử lớn nhất trong chuỗi. sorted sorted(iterable[,key,reverse])Trả về một danh sách mới gồm các mục được sắp xếp trong iterable. Reversereversed(iterator)Đảo ngược một iterator. enumerateenumerate(sequence, start=0)Trả về một đối tượng liệt kê. zipzip(*iterables)Trả về một iterator tổng hợp các mục từ mỗi iterables. mapmap(chức năng, có thể lặp lại,. ]Trả về iterator áp dụng chức năng cho từng mục của iterables. filterfilter(function, iterable) Trả về một iterator từ các phần tử của iterable mà hàm trả về true. iteriter(object[,sentinel])Chuyển đổi một iterable thành một iterator Giống như tất cả các hàm dựng sẵn trong Python, các hàm danh sách là các đối tượng hạng nhất và là các hàm tạo hoặc hành động trên các đối tượng danh sách và các chuỗi khác Như chúng ta sẽ thấy, tiến về phía trước, hầu hết các hàm danh sách hoạt động trên các đối tượng danh sách tại chỗ. Điều này là do đặc điểm của danh sách được gọi là khả năng thay đổi, cho phép chúng tôi sửa đổi danh sách trực tiếp Chúng ta có các hàm thường được sử dụng để thao tác với danh sách. Ví dụ. len(), sum(), max(), range() và nhiều hơn nữa. Chúng tôi cũng có một số chức năng không được sử dụng phổ biến như any(), all(), v.v. Tuy nhiên, các hàm này có thể giúp ích rất nhiều trong khi làm việc với danh sách nếu được sử dụng đúng cách. Ghi chú. Trước khi chúng ta chuyển sang thảo luận về các hàm danh sách khác nhau, cần lưu ý rằng, trong Python, chúng ta có thể lấy chuỗi tài liệu của hàm tích hợp và các chi tiết hữu ích khác với __doc__ và help(). Trong ví dụ bên dưới, chúng ta lấy chuỗi tài liệu của hàm len() >>> len.__doc__ 'Return the number of items in a container.' Các hàm danh sách Python thường được sử dụngTrong phần này, chúng ta sẽ thảo luận về một số hàm Python thường được sử dụng và xem cách chúng áp dụng cho danh sách #1) len()Phương thức danh sách Python len() trả về kích thước (số lượng mục) của danh sách bằng cách gọi phương thức độ dài riêng của đối tượng danh sách. Nó lấy một đối tượng danh sách làm đối số và không có tác dụng phụ đối với danh sách cú pháp len(s) Trường hợp s có thể là một chuỗi hoặc tập hợp Ví dụ 1. Viết hàm tính toán và trả về kích thước/độ dài của danh sách. def get_len(l): # Python list function len() computes the size of the list. return len(l) if __name__ == '__main__': l1 = [] # defined an empty list l2 = [5,43,6,1] # define a list of 4 elements l3 = [[4,3],[0,1],[3]] # define a list of 3 elements(lists) print("L1 len: ", get_len(l1)) print("L2 len: ", get_len(l2)) print("L3 len: ", get_len(l3)) đầu ra Ghi chú. Ngoài việc sử dụng chỉ số -1 để truy cập mục cuối cùng của danh sách obj[-1], chúng ta cũng có thể truy cập mục cuối cùng của danh sách bằng len() như bên dưới obj[ len(obj)-1] #2) danh sách()list() thực sự là một lớp tích hợp Python tạo danh sách từ một lần lặp được truyền dưới dạng đối số. Vì nó sẽ được sử dụng rất nhiều trong suốt hướng dẫn này, chúng ta sẽ xem nhanh những gì lớp này cung cấp cú pháp list([iterable]) Dấu ngoặc cho chúng ta biết rằng đối số được truyền cho nó là tùy chọn Hàm list() chủ yếu được sử dụng để
Ví dụ 2. Chuyển đổi tuple, dict thành danh sách và tạo danh sách trống. def list_convert(): t = (4,3,5,0,1) # define a tuple s = 'hello world!' # define a string d = {'name':"Eyong","age":30,"gender":"Male"} # define a dict # convert all sequences to list t_list, s_list, d_list = list(t), list(s), list(d) # create empty list empty_list = list() print("tuple_to_list: ", t_list) print("string_to_list: ", s_list) print("dict_to_list: ", d_list) print("empty_list: ", empty_list) if __name__ == '__main__': list_convert() đầu ra Ghi chú. Chuyển đổi từ điển bằng danh sách (dict) sẽ trích xuất tất cả các khóa của nó và tạo danh sách. Đó là lý do tại sao chúng ta có đầu ra [‘name’,’age’,’gender’] ở trên. Thay vào đó, nếu chúng tôi muốn tạo danh sách các giá trị của từ điển, chúng tôi sẽ phải truy cập các giá trị bằng dict. giá trị() #3) phạm vi()Hàm danh sách Python range() lấy một số số nguyên làm đối số và tạo danh sách các số nguyên cú pháp range([start,]stop[,step]) Ở đâu
Từ cú pháp trên, bắt đầu và bước đều là tùy chọn và chúng mặc định lần lượt là 0 và 1 Ví dụ 3. Tạo một dãy số từ 4 đến 20, nhưng tăng thêm 2 và in ra. def create_seq(start, end, step): # create a range object r = range(start, end, step) # print items in the range object. for item in r: print(item) if __name__ == '__main__': start = 4 # define our start number end = 20 # define out end number step = 2 # define out step number print("Range of numbers:") create_seq(start, end, step) đầu ra Ghi chú. Vì list() tạo danh sách từ một lần lặp, nên chúng ta có thể tạo danh sách từ hàm range() ________số 8#4) tổng ()Hàm sum() trong Python cộng tất cả các mục trong một lần lặp và trả về kết quả cú pháp sum(iterable[,start]) Ở đâu
Các mục của iterable và bắt đầu phải là số. Nếu bắt đầu không được xác định, nó sẽ mặc định là không (0) Ví dụ 4. Tính tổng các mục từ danh sách len(s)0 Ví dụ 5. Bắt đầu với 9 và thêm tất cả các mục từ danh sách [9,3,2,5,1,-9]. len(s)1 Ghi chú. Chúng ta có thể triển khai hàm sum() với vòng lặp for truyền thống len(s)2 đầu ra #5 phút()Hàm min() của Python trả về mục nhỏ nhất trong một chuỗi cú pháp len(s)3 Ở đâu
Ví dụ 6. Tìm số nhỏ nhất trong danh sách [4,3,9,10,33,90]. len(s)4 Ví dụ 7. Trong ví dụ này, chúng ta sẽ thấy hoạt động của khóa và mặc định. Chúng ta sẽ tìm min của một danh sách rỗng và min của một danh sách các số nguyên. Số đối tượng danh sách chứa số nguyên. Thay vì trả về giá trị nhỏ nhất dưới dạng chuỗi, chúng tôi sử dụng từ khóa key để chuyển đổi tất cả các mục thành số nguyên. Do đó, giá trị tối thiểu kết quả sẽ là một số nguyên Đối tượng danh sách empty_list là một danh sách rỗng. Vì danh sách của chúng tôi trống, chúng tôi sẽ xác định một giá trị mặc định Ghi chú. Nếu iterable trống và mặc định không được cung cấp, a sẽ tăng len(s)5 đầu ra #6) tối đa()Hàm Python max() trả về mục cao nhất trong chuỗi cú pháp len(s)6 Ở đâu
Ví dụ 8. Tìm số lớn nhất trong danh sách [4,3,9,10,33,90]. len(s)7 #7) sắp xếp()Phương thức sorted() của Python trả về một danh sách các mục được sắp xếp mới từ một lần lặp cú pháp len(s)8 Ở đâu
Ví dụ 9. Sắp xếp danh sách [4,3,10,6,21,9,23] theo thứ tự giảm dần. len(s)9 Ví dụ 10. Chỉ sắp xếp danh sách theo thứ tự giảm dần bằng cách sử dụng từ khóa chính. Ở đây, chúng tôi sẽ sử dụng để trả về giá trị âm của từng mục để so sánh. Vì vậy, thay vì sắp xếp các số dương, sorted() giờ đây sẽ sắp xếp các giá trị âm, do đó kết quả sẽ theo thứ tự giảm dần def get_len(l): # Python list function len() computes the size of the list. return len(l) if __name__ == '__main__': l1 = [] # defined an empty list l2 = [5,43,6,1] # define a list of 4 elements l3 = [[4,3],[0,1],[3]] # define a list of 3 elements(lists) print("L1 len: ", get_len(l1)) print("L2 len: ", get_len(l2)) print("L3 len: ", get_len(l3))0 Ghi chú. Hàm sorted() của Python hơi giống với phương thức danh sách của Python sort(). Sự khác biệt chính là phương thức danh sách sắp xếp tại chỗ và trả về Không #8) đảo ngược()Hàm đảo ngược() của Python trả về một trình lặp đảo ngược trong đó chúng ta có thể yêu cầu giá trị tiếp theo hoặc lặp lại cho đến khi chúng ta kết thúc cú pháp def get_len(l): # Python list function len() computes the size of the list. return len(l) if __name__ == '__main__': l1 = [] # defined an empty list l2 = [5,43,6,1] # define a list of 4 elements l3 = [[4,3],[0,1],[3]] # define a list of 3 elements(lists) print("L1 len: ", get_len(l1)) print("L2 len: ", get_len(l2)) print("L3 len: ", get_len(l3))1 Ví dụ 11. Tìm thứ tự đảo ngược của danh sách. def get_len(l): # Python list function len() computes the size of the list. return len(l) if __name__ == '__main__': l1 = [] # defined an empty list l2 = [5,43,6,1] # define a list of 4 elements l3 = [[4,3],[0,1],[3]] # define a list of 3 elements(lists) print("L1 len: ", get_len(l1)) print("L2 len: ", get_len(l2)) print("L3 len: ", get_len(l3))2 Ghi chú Chúng ta cần lưu ý những điều sau
#9) liệt kê()Hàm enumerate() của Python trả về một đối tượng liệt kê trong đó chúng ta có thể yêu cầu giá trị tiếp theo hoặc lặp lại cho đến khi chúng ta kết thúc cú pháp def get_len(l): # Python list function len() computes the size of the list. return len(l) if __name__ == '__main__': l1 = [] # defined an empty list l2 = [5,43,6,1] # define a list of 4 elements l3 = [[4,3],[0,1],[3]] # define a list of 3 elements(lists) print("L1 len: ", get_len(l1)) print("L2 len: ", get_len(l2)) print("L3 len: ", get_len(l3))3 Mỗi mục tiếp theo của đối tượng được trả về là một bộ (số lượng, mục) trong đó số lượng bắt đầu từ 0 như mặc định và mục được nhận từ việc lặp qua trình lặp Ví dụ 12. Liệt kê danh sách các tên [“eyong”,”kevin”,”enow”,”ayamba”,”derick”] với số lượng bắt đầu từ 3 và trả về một danh sách các bộ như ( . def get_len(l): # Python list function len() computes the size of the list. return len(l) if __name__ == '__main__': l1 = [] # defined an empty list l2 = [5,43,6,1] # define a list of 4 elements l3 = [[4,3],[0,1],[3]] # define a list of 3 elements(lists) print("L1 len: ", get_len(l1)) print("L2 len: ", get_len(l2)) print("L3 len: ", get_len(l3))4 Hàm enumerate() của Python có thể được triển khai bằng cách sử dụng vòng lặp for truyền thống def get_len(l): # Python list function len() computes the size of the list. return len(l) if __name__ == '__main__': l1 = [] # defined an empty list l2 = [5,43,6,1] # define a list of 4 elements l3 = [[4,3],[0,1],[3]] # define a list of 3 elements(lists) print("L1 len: ", get_len(l1)) print("L2 len: ", get_len(l2)) print("L3 len: ", get_len(l3))5 đầu ra Ghi chú. Trong hàm enumerate() ở trên, chúng tôi đã sử dụng từ khóa Python yield trả về một đối tượng trình tạo cần được lặp lại để đưa ra các giá trị #10) nén ()Hàm zip() của Python trả về một trình lặp có chứa tổng hợp của từng mục trong các lần lặp cú pháp def get_len(l): # Python list function len() computes the size of the list. return len(l) if __name__ == '__main__': l1 = [] # defined an empty list l2 = [5,43,6,1] # define a list of 4 elements l3 = [[4,3],[0,1],[3]] # define a list of 3 elements(lists) print("L1 len: ", get_len(l1)) print("L2 len: ", get_len(l2)) print("L3 len: ", get_len(l3))6 Trong đó * chỉ ra rằng hàm zip() có thể thực hiện bất kỳ số lần lặp nào Ví dụ 13. Thêm mục thứ i của mỗi danh sách. def get_len(l): # Python list function len() computes the size of the list. return len(l) if __name__ == '__main__': l1 = [] # defined an empty list l2 = [5,43,6,1] # define a list of 4 elements l3 = [[4,3],[0,1],[3]] # define a list of 3 elements(lists) print("L1 len: ", get_len(l1)) print("L2 len: ", get_len(l2)) print("L3 len: ", get_len(l3))7 đầu ra Ghi chú. Điều quan trọng cần lưu ý là trình vòng lặp kết quả này dừng khi hết đối số vòng lặp ngắn nhất def get_len(l): # Python list function len() computes the size of the list. return len(l) if __name__ == '__main__': l1 = [] # defined an empty list l2 = [5,43,6,1] # define a list of 4 elements l3 = [[4,3],[0,1],[3]] # define a list of 3 elements(lists) print("L1 len: ", get_len(l1)) print("L2 len: ", get_len(l2)) print("L3 len: ", get_len(l3))8 Kết quả trên không bao gồm 7 từ l1. Điều này là do l2 ngắn hơn l2 1 mục #11) bản đồ()Hàm map() trong Python ánh xạ một hàm tới từng mục của iterables và trả về một iterator cú pháp def get_len(l): # Python list function len() computes the size of the list. return len(l) if __name__ == '__main__': l1 = [] # defined an empty list l2 = [5,43,6,1] # define a list of 4 elements l3 = [[4,3],[0,1],[3]] # define a list of 3 elements(lists) print("L1 len: ", get_len(l1)) print("L2 len: ", get_len(l2)) print("L3 len: ", get_len(l3))9 Hàm này chủ yếu được sử dụng khi chúng ta muốn áp dụng một hàm trên từng mục của iterables nhưng chúng ta không muốn sử dụng vòng lặp for truyền thống Ví dụ 14. Thêm 2 vào mỗi mục trong danh sách obj[ len(obj)-1]0 Trong ví dụ trên, chúng tôi đã sử dụng biểu thức lambda để thêm 2 vào mỗi mục và chúng tôi đã sử dụng hàm list() của Python để tạo danh sách từ trình vòng lặp được trả về bởi hàm map() Chúng ta có thể đạt được kết quả tương tự trong Ví dụ 14 với vòng lặp for truyền thống như hình bên dưới obj[ len(obj)-1]1 đầu ra Ghi chú. Hàm map() có thể nhận bất kỳ số lần lặp nào với điều kiện là đối số của hàm có số lượng đối số tương đương để xử lý từng mục từ mỗi lần lặp. Giống như zip(), iterator dừng khi đối số iterable ngắn nhất cạn kiệt obj[ len(obj)-1]2 Chúng ta có thể đạt được kết quả tương tự ở trên với hàm Python zip() trong vòng lặp for truyền thống như bên dưới obj[ len(obj)-1]3 đầu ra #12) bộ lọc()Phương thức filter() của Python xây dựng một iterator từ các mục của iterables thỏa mãn một điều kiện nhất định cú pháp obj[ len(obj)-1]4 Đối số hàm đặt điều kiện cần được thỏa mãn bởi các mục của iterable. Các mục không thỏa mãn điều kiện bị loại bỏ Ví dụ 15. Lọc ra những tên có độ dài nhỏ hơn 4 khỏi danh sách [“john”,”petter”,”job”,”paul”,”mat”]. obj[ len(obj)-1]5 Ghi chú. Nếu đối số của hàm là Không, thì tất cả các mục đánh giá sai như Sai, ‘ ‘, 0, {}, Không có, v.v. sẽ bị xóa obj[ len(obj)-1]6 Ghi chú. Chúng ta có thể đạt được kết quả trong ví dụ 15 ở trên với khả năng hiểu danh sách obj[ len(obj)-1]7 #13) iter()Hàm iter() của Python chuyển đổi một iterable thành một iterator trong đó chúng ta có thể yêu cầu giá trị tiếp theo hoặc lặp lại cho đến khi chúng ta kết thúc cú pháp obj[ len(obj)-1]8 Ở đâu
Ví dụ 16. Chuyển đổi danh sách [‘a’,’b’,’c’,’d’,’e’] thành một iterator và sử dụng next() để in từng giá trị. obj[ len(obj)-1]9 Trong ví dụ trên, chúng ta thấy rằng sau khi truy cập mục cuối cùng của iterator, giá trị sẽ tăng lên nếu chúng ta cố gọi lại next() Ví dụ 17. Xác định một đối tượng tùy chỉnh gồm các số nguyên tố và sử dụng tham số sentinel để in các số nguyên tố cho đến hết 31. Ghi chú. Nếu một đối tượng do người dùng định nghĩa được sử dụng trong iter() không triển khai phương thức __inter__(), __next__() hoặc __getitem__() thì a sẽ được nâng lên list([iterable])0 đầu ra Các chức năng tích hợp trong danh sách Python khác#14) tất cả()Hàm Python all() trả về True nếu tất cả các phần tử của một lần lặp là đúng hoặc nếu một lần lặp trống cú pháp list([iterable])1 Ghi chú
Ví dụ 18. Kiểm tra xem tất cả các mục của danh sách có đúng không. list([iterable])2 Trong ví dụ trên, kết quả là Sai vì phần tử 0 trong danh sách không đúng #15) bất kỳ()Hàm any() của Python trả về True nếu ít nhất một mục của iterable là true. Không giống như all(), nó sẽ trả về Sai nếu iterable trống cú pháp list([iterable])3 Ví dụ 19. Kiểm tra xem ít nhất một mục của danh sách [‘hi’,[4,9],-4,True] có đúng không. list([iterable])4 Các câu hỏi thường gặpCâu hỏi 1) Hàm tích hợp sẵn trong Python là gì? Trả lời. Trong Python, các hàm dựng sẵn là các hàm được xác định trước có sẵn để sử dụng mà không cần nhập chúng. Ví dụ: len(), map(), zip(), range(), v.v. Q #2) Làm cách nào để kiểm tra các hàm tích hợp sẵn trong Python? Câu trả lời. Các hàm tích hợp sẵn của Python có sẵn và được ghi lại đầy đủ trong trang tài liệu chính thức của Python Q #3) Làm thế nào chúng ta có thể sắp xếp một danh sách trong Python? Câu trả lời. Trong Python, chúng ta thường có thể sắp xếp danh sách theo hai cách. Đầu tiên là sử dụng phương thức danh sách sort() sẽ sắp xếp danh sách tại chỗ. Hoặc chúng tôi sử dụng hàm sorted() tích hợp sẵn của Python để trả về một danh sách được sắp xếp mới Q #4) Làm thế nào bạn có thể đảo ngược một số trong Python bằng cách sử dụng phương thức danh sách reverse()? Câu trả lời Chúng tôi có thể làm điều đó như hình dưới đây
list([iterable])5 Q #5) Làm thế nào để bạn đảo ngược một danh sách mà không cần đảo ngược trong Python? Câu trả lời. Cách phổ biến để đảo ngược danh sách mà không sử dụng phương thức danh sách đảo ngược () của Python hoặc hàm tích hợp đã đảo ngược () là sử dụng cắt lát list([iterable])6 Q #6) Bạn có thể nén ba danh sách bằng Python không? Câu trả lời. Hàm zip() của Python có thể nhận bao nhiêu lần lặp mà máy tính của bạn có thể hỗ trợ. Chúng ta chỉ cần đảm bảo rằng khi được sử dụng trong vòng lặp for, chúng ta nên cung cấp đủ các biến để giải nén, nếu không sẽ xảy ra ngoại lệ ValueError list([iterable])7 Phần kết luậnTrong hướng dẫn này, chúng ta đã thấy một số hàm tích hợp Python thường được sử dụng như min(), range(), sorted(), v.v. Chúng ta cũng đã thảo luận về một số hàm tích hợp danh sách ít được sử dụng như any() và all(). Đối với mỗi hàm, chúng tôi đã trình bày cách sử dụng và xem cách nó áp dụng trên danh sách với các ví dụ Danh sách trong Python là gì?Danh sách là cấu trúc dữ liệu trong Python là một chuỗi các phần tử có thể thay đổi hoặc có thể thay đổi theo thứ tự . Mỗi phần tử hoặc giá trị bên trong danh sách được gọi là một mục. Giống như các chuỗi được định nghĩa là các ký tự nằm giữa các dấu ngoặc kép, các danh sách được xác định bằng cách có các giá trị nằm giữa các dấu ngoặc vuông [ ].
List() hoạt động như thế nào trong Python?Danh sách chữ được viết trong dấu ngoặc vuông [ ]. Danh sách hoạt động tương tự như chuỗi -- sử dụng hàm len() và dấu ngoặc vuông [ ] để truy cập dữ liệu, với phần tử đầu tiên ở chỉ mục 0 . (Xem con trăn chính thức. tài liệu danh sách tổ chức. )
Chức năng danh sách trong Python với ví dụ là gì?Hàm danh sách Python Sự khác biệt giữa danh sách và bộ dữ liệu trong Python là gì?Sự khác biệt chính giữa bộ dữ liệu và danh sách là bộ dữ liệu là bất biến, trái ngược với danh sách có thể thay đổi . Do đó, có thể thay đổi một danh sách nhưng không thể thay đổi một bộ. Nội dung của một bộ dữ liệu không thể thay đổi sau khi chúng được tạo bằng Python do tính bất biến của bộ dữ liệu. |