Hướng dẫn dùng enumerate list python

Sharp cũng cho biết rằng giá TV LCD [màn hình tinh thể lỏng] thấp hơn do sự cạnh tranh khốc liệt trên thị trường đã dẫn đến lợi nhuận thấp hơn dự kiến ​​trong doanh nghiệp đó.

Công ty cũng cắt giảm triển vọng cho năm tài chính từ tháng 4 năm 2008 đến tháng 3 năm 2009. Lợi nhuận ròng cho năm nay được dự báo đạt 60 tỷ yên, giảm 43% so với dự báo trước đó của Sharp, và doanh thu được dự đoán là 3,4 nghìn tỷ yên, giảm 5% dự báo.

Có một sự hoan nghênh nhiệt liệt tại hội nghị Macworld và hội chợ triển lãm năm nay, nhưng nó không phải là Steve Jobs hay một sản phẩm mới của Apple.

tại hội nghị - bởi Phó chủ tịch cấp cao của tiếp thị sản phẩm toàn cầu của Apple Philip Schiller. Công bằng, Schiller đã được giao nhiệm vụ khó khăn, làm việc cho CEO của Apple Jobs, người đã bỏ cuộc như một bài báo quan trọng chỉ vài tuần trước buổi trình diễn.

Trong bài phát biểu thứ ba, Apple không cung cấp bất cứ thứ gì đáng kinh ngạc như kế tiếp iPhone, nhưng nó đã đưa ra một vài lời chào mời mới cho các tín hữu, chẳng hạn như các phiên bản của phần mềm iLife và iWork và một chiếc máy MacBook Pro 17 inch mỏng đi kèm với pin mới kéo dài sẽ giữ cho máy tính xách tay hoạt động như miễn là tám giờ. Công ty cũng đã giới thiệu một đối thủ cạnh tranh với Google Docs gọi là iWork.com và đã công bố kế hoạch bắt đầu làm tất cả âm nhạc trên cửa hàng iTunes có

Hàm enumerate[] thêm vào một bộ đếm vào trước mỗi iterable và trả về kết quả dưới dạng đối tượng liệt kê. Các đối tượng enumerate này sau đó có thể được sử dụng trực tiếp trong các vòng lặp hoặc được chuyển đổi thành một danh sách, một tuple bằng phương thức list[] và tuple[].

Bài viết sẽ trình bày việc làm như nào và tại sao sử dụng hàm enumerate trong python sẽ làm các vòng lặp python trở nên rõ ràng hơn.

Hàm enumerate của python thực sực có rất nhiều sức mạnh, thật khó để tổng kết sự hữu ích của nó trong một câu.

Có rất nhiều những feature hữu ích của hàm, mà rất nhiều người mới lập trình python, và có thể có những người lập trình python tầm trung không iết đến.

Về cơ bản, hàm enumerate[] cho phép bạn truy nhập vòng lặp lần lượt qua các thành phần của một collection trong khi nó vẫn giữ index của item hiện tại.

Hãy đến ví dụ

names = ['Bob', 'Alice', 'Guido']
for index, value in enumerate[names]:
    print[f'{index}: {value}']

//output: 
0: Bob
1: Alice
2: Guido

Như bạn dã thấy, thì nó sẽ lần lượt in ra danh sách mảng cùng với chỉ số index của nó bắt đầu từ 0.

Làm cách viết các vòng lặp của bạn pythonic hơn với enumerate[]

Giờ chúng ta sẽ tìm hiểu tại sao việc giữ index với hàm enumerate sẽ dễ dùng hơn.

Các python developer mới thường bắt đầu từ những người có kinh nghiệm hoặc kiến thức về lập trình C hoặc Java, do đó, thỉnh thoảng code của họ vẫn viết vớ tư tưởng của ngôn ngữ C hoặc Java. Điều này không sai, chương trình vẫn chạy một cách hoàn hảo.

for i in range[len[my_items]]:
    print[i, my_items[i]]

Đây là cách tạo index một cách thông thường. Nhưng với những người lập trình Python, thì nhìn đó là một thứ code có mùi không được thơm cho lắm. Bằng cách sử dụng hàm enumerate[] một cách khéo léo, vòng lặp của bạn sẽ rõ ràng và đơn giản hơn.

Thay đối starting index.

Mặc định, hàm enumerate sẽ bắt đầu với chỉ số index từ 0. Nếu muốn thay đổi chỉ số [index] bắt đầu của vòng lặp, thì ta có thể thực hiện như sau:

names = ['Bob', 'Alice', 'Guido']
for index, value in enumerate[names, 1]:
    print[f'{index}: {value}']

OutPut đầu ra:

1: Bob
2: Alice
3: Guido

Tóm lại:

  • Enumerate là một built-in function của Python. Bạn có thể sử dụng nó cho các vòng lặp của một iterable với việc tự động sinh ra chỉ số index.

  • Số đếm [index] bắt đầu mặc định từ 0, nhưng bạn có thể đặt lại nó bằng bất kỳ một số integer nào.

  • Enumerate function được thêm vào python từ version 2.3 theo PEP279

  • Enumerate giúp bạn viết code một cách pythonic hơn, và việc đánh chỉ số index hay counter trong vòng lặp một cách tự động, tránh việc làm sai sót khi làm thủ công.

Chủ Đề