Hướng dẫn why is enumerate used in python? - tại sao liệt kê được sử dụng trong python?

Đếm, ai cần nó?

Hướng dẫn why is enumerate used in python? - tại sao liệt kê được sử dụng trong python?

Vâng, tất cả chúng ta đều làm, và nó cũng phục vụ một mục đích có giá trị trong lập trình. Lập trình chỉ tồn tại vì đếm và tất cả các toán học có thể được thực hiện với nó.

Tuy nhiên, lập trình không phải lúc nào cũng đơn giản như toán học và đếm, với suy nghĩ đó, Python cung cấp cho chúng tôi các công cụ để đơn giản hóa trải nghiệm của mình.

Trong bài đăng này, chúng tôi sẽ thảo luận về một trong những chức năng liệt kê, giúp chúng tôi đếm các mục và đối tượng trong mã của chúng tôi. Không có thêm bất kỳ quảng cáo nào nữa, hãy để nhảy ngay vào.

Hướng dẫn why is enumerate used in python? - tại sao liệt kê được sử dụng trong python?

Việc liệt kê làm gì trong Python?

Hàm liệt kê trong Python chuyển đổi một đối tượng thu thập dữ liệu thành một đối tượng liệt kê. Việc liệt kê trả về một đối tượng chứa một bộ đếm làm khóa cho mỗi giá trị trong một đối tượng, làm cho các mục trong bộ sưu tập dễ dàng truy cập hơn.

Vòng lặp qua các đối tượng là hữu ích nhưng chúng ta thường cần các phương tiện để theo dõi các vòng lặp và các mục được truy cập trong vòng lặp đó của vòng lặp. Enumate giúp với nhu cầu này bằng cách gán một bộ đếm cho từng mục trong đối tượng, cho phép chúng tôi theo dõi các mục được truy cập.

Điều này cũng giúp việc điều khiển các bộ sưu tập dữ liệu của chúng tôi dễ dàng hơn khi có thể như vậy. Không phải tất cả các đối tượng thu thập dữ liệu trong Python đều có thể thay đổi, các bộ là một ví dụ tuyệt vời về điều này.

Làm thế nào để liệt kê hoạt động trong Python?

Việc liệt kê các chức năng giống như một vòng lặp, nó lặp qua một bộ sưu tập dữ liệu một lần cho mỗi mục trong đó. Sự khác biệt chính là việc liệt kê cũng tự động sửa đổi dữ liệu mà nó được cung cấp, về cơ bản biến mỗi mục thành một cặp giá trị khóa. Khi hàm lặp lại trên đối tượng, mỗi mục được ghép nối với một số tương ứng với số lần vòng lặp đã chạy bao gồm cả vòng lặp hiện tại.for loop, it loops over a collection of data once for each item in it. The primary difference is that enumerate also automatically modifies the data it is fed, essentially turning each item into a key-value pair. As the function iterates over the object, each item is paired with a number that corresponds to the number of times the loop has run including the current loop.

Hàm liệt kê chấp nhận hai tham số: đối tượng có thể lặp lại được yêu cầu và số bắt đầu tùy chọn. Tham số số bắt đầu chấp nhận một số nguyên và chỉ định số nào hàm sẽ bắt đầu đếm. Cho rằng đó là tùy chọn, số bắt đầu mặc định luôn bằng không, giống như việc lập chỉ mục các mảng.

Hãy cùng xem xét một số ví dụ về điều này và xem đầu vào được thay đổi như thế nào bằng cách kiểm tra đầu ra.

Làm thế nào để sử dụng liệt kê trong Python?

Có bốn loại dữ liệu trong Python để lưu trữ các bộ sưu tập thông tin, nhưng trong ví dụ này, chúng tôi sẽ chỉ đi qua hai. Các loại dữ liệu từ điển và danh sách được đặt hàng, và do đó, trong hầu hết các tình huống - cấm lập trình phức tạp như học máy - sẽ không cần phải chạy qua hàm điều khiển. Mặt khác, các bộ và bộ dữ liệu không được đặt hàng và do đó, nhiều khả năng được liệt kê.

Python liệt kê ví dụ

Hàm Python Enumater cung cấp một cách đơn giản hơn để truy cập và đếm các mục trong một bộ sưu tập dữ liệu. Có bốn loại thu thập dữ liệu chính trong Python, chúng tôi sẽ xem xét các ví dụ về hàm liệt kê với tập hợp và tuple. Trong phần tiếp theo, chúng tôi sẽ xem xét hai ví dụ tương phản nhưng có giá trị này bằng cách sử dụng hàm liệt kê.

Hãy để nhanh chóng nhìn vào hai loại dữ liệu mà chúng tôi sẽ sử dụng và những gì khiến chúng khác biệt với nhau.

  • Tuple: Đặt hàng và không thể thay đổi. Cho phép các thành viên trùng lặp.: Ordered and unchangeable. Allows duplicate members.
  • Đặt: Không có thứ tự, không thể thay đổi (các mục có thể được thêm hoặc loại bỏ nhưng không thay đổi) và không được phân bổ. Không có thành viên trùng lặp.: Unordered, unchangeable (items can be added or removed but not changed), and unindexed. No duplicate members.

Liệt kê các bộ python

Các bộ Python là các bộ sưu tập thông tin không đặt hàng, các mục trong đó là bất biến và do đó không thể thay đổi sau khi chúng được thêm vào. Bản chất không được đặt hàng của các bộ có nghĩa là thứ tự mà các mục bên trong được truy cập không nhất quán và chúng không thể được nhắm mục tiêu bởi một giá trị chỉ mục vì chúng không có.

Hàm liệt kê liên kết một bộ đếm làm khóa cho mỗi mục trong tập hợp. Điều này có thể giúp tạo cấu trúc trong một bộ sưu tập không có thứ tự. Bằng cách liệt kê trên bộ, chúng tôi có nhiều quyền kiểm soát hơn về cách chúng tôi có thể tương tác với nó một cách đáng tin cậy. Điều này rất hữu ích với các bộ vì các mục trong không có vị trí chỉ mục được chỉ định.

 
/*creates a set using curly brackets*/
snekSet = {"cobra","viper","snek"}
/*prints the third object in the tuple*/
print(snekSet[2])

Mã trên sẽ đưa ra một lỗi cho biết rằng một tập hợp không thể đăng ký, điều này là do nhắm mục tiêu một chỉ mục, không tương thích với các bộ. Tuy nhiên, nếu chúng ta liệt kê tập hợp, chúng ta có thể sử dụng bộ đếm làm chỉ mục để tìm mục của chúng ta.

 
snekTuple = ("cobra","viper","snek")
for i in enumerate(snekTuple):
print(i)

Mã trên sẽ in vào bảng điều khiển kết quả sau, mặc dù đơn đặt hàng được trả về trong tháng 5 khác nhau.

 
(0, ‘cobra’)
(1, ‘snek’)
(2, ‘viper’)

Điều quan trọng cần lưu ý là điều này không làm thay đổi giá trị của Snekset, in nó vào bảng điều khiển sẽ cung cấp cho chúng tôi cùng một bộ mà chúng tôi đã khai báo và rất có thể theo một thứ tự khác.

 
print(snekSet)
/*output*/
{"viper", "cobra", "snek"}

Để bảo tồn hiệu ứng của hàm liệt kê trên một tập hợp, bạn sẽ cần chuyển đổi kết quả thành một loại dữ liệu khác. Hãy cùng xem xét một ví dụ về cách chúng ta có thể làm điều đó bằng cách sử dụng hàm trình xây dựng danh sách.

 
snekSet = {"cobra","viper","snek"}
snekSetEnum = enumerate(snekSet)
snekList = list(snekSetEnum)

Đầu tiên, chúng tôi tạo tập hợp, sau đó chúng tôi chạy chức năng liệt kê cung cấp bộ của chúng tôi và lưu nó vào một biến mới. Cuối cùng, kết quả của việc liệt kê sau đó được cung cấp cho hàm tạo danh sách và được lưu dưới dạng đối tượng danh sách mới. Dữ liệu bên trong của đối tượng SetList mới này sẽ trông giống như một danh sách các cặp khóa/giá trị.

 
[(0, ‘cobra’), (1, ‘snek’), (2, ‘viper’)]

Vấn đề ở đây là nó tạo ra một cấu trúc dữ liệu phức tạp và vì các bộ không thể đoán trước được, nên chúng nên được sử dụng cẩn thận. Chúng ta hãy xem xét một trường hợp sử dụng tương phản cho chức năng liệt kê, bộ dữ liệu.

Liệt kê các bộ dữ liệu python

Hàm liệt kê cũng có thể được sử dụng trên các bộ dữ liệu để có các cặp khóa/giá trị; Điều này đi kèm với độ tin cậy nhiều hơn về thứ tự mà các mặt hàng sẽ được trả lại. Lý do cho điều này là do các bộ dữ liệu được đặt hàng có nghĩa là các mục trong đó ở vị trí mà chúng được thêm vào. Vì vậy, mục thứ ba trong một tuple - không giống như một tập hợp - có thể được nhắm mục tiêu bằng cách sử dụng ký hiệu khung với chỉ mục là 2.

 
/*creates a tuple using parentheses*/
snekTuple = ("cobra","viper","snek")
/*prints the third object in the tuple*/
print(snekTuple[2])

Việc liệt kê các bộ dữ liệu python đơn giản hơn so với việc liệt kê các bộ. Việc liệt kê các bộ dữ liệu trong Python có kết quả nhất quán và có thể dự đoán được nhiều hơn, hãy để Lôi xem xét một ví dụ về cách chúng ta sẽ thực hiện việc này.

 
snekTuple = ("cobra","viper","snek")
for i in enumerate(snekTuple):
print(I)

Đối với mỗi lần lặp của vòng lặp, kết quả sẽ được in vào bảng điều khiển hiển thị các phím và giá trị được liệt kê cho snektuple mà chúng tôi đã tạo.

________số 8

Điều quan trọng cần lưu ý là ví dụ này là một chút dự phòng vì các bộ dữ liệu được đặt hàng và có thể được nhắm mục tiêu bằng cách sử dụng các chỉ mục. Đó là một cách để nói rằng có một lý do hoặc sử dụng khả thi cho việc này, một ví dụ tuyệt vời đang liệt kê một từ điển của các bộ. Các bộ trong từ điển có thể được liệt kê để hiểu rõ hơn về nội dung của nó.

Tiến về phía trước với chức năng liệt kê Python

Có rất nhiều thủ thuật hữu ích có thể được áp dụng cho chương trình của bạn với chức năng liệt kê và sự phức tạp của chương trình của bạn sẽ ảnh hưởng đến tần suất bạn cần các tính năng như chức năng liệt kê. Nó cũng sẽ ảnh hưởng đến mức độ phức tạp của việc sử dụng các tính năng như vậy và chức năng liệt kê có thể được sử dụng để thực hiện tái cấu trúc dữ liệu mạnh mẽ cho nhiều nhu cầu khác nhau. Tốt nhất của may mắn, và chắc chắn sử dụng các tài nguyên như Stack Overflow và trang tài liệu Python khi cần thiết.

Hướng dẫn why is enumerate used in python? - tại sao liệt kê được sử dụng trong python?

Tại sao được liệt kê được sử dụng?

Tái tạo () cho phép chúng ta lặp lại thông qua một chuỗi nhưng nó theo dõi cả chỉ mục và phần tử.Hàm liệt kê () có thể sử dụng một đối số, chẳng hạn như danh sách, chuỗi, tuple hoặc từ điển.allows us to iterate through a sequence but it keeps track of both the index and the element. The enumerate() function takes in an iterable as an argument, such as a list, string, tuple, or dictionary.

Có được liệt kê tốt hơn phạm vi không?

Enumate nhanh hơn khi bạn muốn liên tục truy cập danh sách/các mục có thể lặp lại tại chỉ mục của họ.Khi bạn chỉ muốn một danh sách các chỉ số, việc sử dụng Len () và phạm vi (xrange trong Python 2 sẽ nhanh hơn.. When you just want a list of indices, it is faster to to use len() and range (xrange in Python 2.

Một liệt kê trong Python là gì?

Một liệt kê là một tập hợp các tên biểu tượng (thành viên) bị ràng buộc với các giá trị duy nhất, không đổi.Trong một bảng liệt kê, các thành viên có thể được so sánh bằng danh tính và bản thân việc liệt kê có thể được lặp lại.a set of symbolic names (members) bound to unique, constant values. Within an enumeration, the members can be compared by identity, and the enumeration itself can be iterated over.

Việc liệt kê làm gì với một chuỗi?

Việc liệt kê một chuỗi Điều này cung cấp cho bạn chỉ mục ký tự và giá trị ký tự, cho mỗi ký tự trong chuỗi.Nếu bạn có một chuỗi, bạn có thể lặp lại nó bằng cách liệt kê (chuỗi).Đầu ra mã ở trên hiển thị cả chỉ mục và giá trị cho mọi phần tử của chuỗi.gives you the character index and the character value, for every character in the string. If you have a string you can iterate over it with enumerate(string). The code output above shows both the index and the value for every element of the string.