Hướng dẫn count loop python - đếm vòng lặp python

Vòng lặp

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
9 này lặp lại tất cả các yếu tố trong danh sách:

Show

Nội phân chính

  • Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ Python cho vòng lặp hoặc đặt câu hỏi của riêng bạn.
  • Lặp lại với các vòng lặp trong Python
  • Sử dụng Python từ liệt kê ()
  • Thực hành với Python liệt kê ()
  • Số lượng vật phẩm tự nhiên của các mặt hàng có thể
  • Các tuyên bố có điều kiện để bỏ qua các mục
  • Hiểu Python liệt kê ()
  • Giải nén các đối số với Enumerate ()

for item in my_list:
    print item

Có cách nào để biết trong vòng lặp bao nhiêu lần tôi đã lặp lại cho đến nay không? Chẳng hạn, tôi muốn lấy một danh sách và sau khi tôi xử lý mười yếu tố, tôi muốn làm điều gì đó với chúng.

Các lựa chọn thay thế tôi nghĩ đến sẽ là một cái gì đó như:

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'

Or:

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'

Có cách nào tốt hơn (giống như

for idx, item in enumerate(my_list):
0) để có được số lần lặp lại cho đến nay không?

Hướng dẫn count loop python - đếm vòng lặp python

Mateen Ulhaq

22.1K16 Huy hiệu vàng85 Huy hiệu bạc126 Huy hiệu đồng16 gold badges85 silver badges126 bronze badges

hỏi ngày 1 tháng 7 năm 2010 lúc 22:59Jul 1, 2010 at 22:59

1

Cách Pythonic là sử dụng

for idx, item in enumerate(my_list):
1:

for idx, item in enumerate(my_list):

Mateen Ulhaq

22.1K16 Huy hiệu vàng85 Huy hiệu bạc126 Huy hiệu đồng16 gold badges85 silver badges126 bronze badges

hỏi ngày 1 tháng 7 năm 2010 lúc 22:59Jul 1, 2010 at 23:02

Cách Pythonic là sử dụng

for idx, item in enumerate(my_list):
1:Nick Bastin

Đã trả lời ngày 1 tháng 7 năm 2010 lúc 23:027 gold badges57 silver badges77 bronze badges

1

Nick Bastinnick Bastin

#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'

29,4K7 Huy hiệu vàng57 Huy hiệu bạc77 Huy hiệu đồng

Đồng ý với Nick. Đây là mã được xây dựng nhiều hơn.Oct 16, 2013 at 8:34

Tôi đã nhận xét biến số đếm trong mã của bạn.Vikram Garg

Đã trả lời ngày 16 tháng 10 năm 2013 lúc 8:341 gold badge8 silver badges8 bronze badges

1

Vikram Gargvikram Garg

countries = ['Pakistan','India','China','Russia','USA']

for index, element in zip(range(0,countries),countries):

         print('Index : ',index)
         print(' Element : ', element,'\n')

output : Index : 0 Element : Pakistan ...

1.2791 Huy hiệu vàng8 Huy hiệu bạc8 Huy hiệu đồng

Python.org

Sử dụng chức năng ZIP, chúng ta có thể nhận được cả phần tử và chỉ mục.

Xem thêm :3 gold badges22 silver badges22 bronze badges

Hans GinzelMar 14, 2020 at 10:33

0

7.0633 Huy hiệu vàng22 Huy hiệu bạc22 Huy hiệu đồng

[each*2 for each in [1,2,3,4,5] if each % 10 == 0])

Đã trả lời ngày 14 tháng 3 năm 2020 lúc 10:33Jan 24, 2017 at 22:49

Tôi biết câu hỏi khá cũ nhưng .... đã đi qua những điều khác nên tôi cho cảnh quay của mình:hephestos

Đã trả lời ngày 24 tháng 1 năm 2017 lúc 22:495 silver badges19 bronze badges

0

Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ Python cho vòng lặp hoặc đặt câu hỏi của riêng bạn.

Hephestoshephestos This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Looping With Python enumerate()

4625 Huy hiệu bạc19 Huy hiệu đồng

for idx, item in enumerate(my_list):
3 to get a counter and the value from the iterable at the same time!

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: lặp lại với Python Enumerate ()

  • Trong Python, một vòng
    for count in range(0,len(my_list)):
        print my_list[count]
        if count % 10 == 0:
            print 'did ten'
    
    9 thường được viết dưới dạng một vòng lặp trên một đối tượng có thể lặp lại. Điều này có nghĩa là bạn không cần một biến đếm để truy cập các mục trong ITBEABLE. Tuy nhiên, đôi khi, bạn muốn có một biến thay đổi trên mỗi lần lặp vòng lặp. Thay vì tự tạo và tăng một biến, bạn có thể sử dụng Python Lừa
    for idx, item in enumerate(my_list):
    
    3 để có được một bộ đếm và giá trị từ điều đáng tin cậy cùng một lúc!
    for idx, item in enumerate(my_list):
    
    3
    to get a counter in a loop
  • Trong hướng dẫn này, bạn sẽ thấy cách:display item counts
  • Sử dụng
    for idx, item in enumerate(my_list):
    
    3 để lấy một quầy trong vòng lặpconditional statements
  • Áp dụng
    for idx, item in enumerate(my_list):
    
    3 để hiển thị số lượng vật phẩmequivalent function to
    for idx, item in enumerate(my_list):
    
    3
  • Sử dụng
    for idx, item in enumerate(my_list):
    
    3 với các câu lệnh có điều kiện
    returned by
    for idx, item in enumerate(my_list):
    
    3

Thực hiện chức năng tương đương của riêng bạn thành

for idx, item in enumerate(my_list):
3

Lặp lại với các vòng lặp trong Python

Giải nén các giá trị được trả về bởi

for idx, item in enumerate(my_list):
3collection-based iteration. This means that Python assigns the next item from an iterable to the loop variable on every iteration, like in this example:

Bắt đầu nào!

>>> values = ["a", "b", "c"]

>>> for value in values:
...     print(value)
...
a
b
c

Một vòng lặp

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
9 trong Python sử dụng phép lặp dựa trên bộ sưu tập. Điều này có nghĩa là Python gán mục tiếp theo từ một biến có thể lặp lại cho biến vòng lặp trên mỗi lần lặp, giống như trong ví dụ này:

>>>

Trong ví dụ này,

#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
0 là một danh sách với ba chuỗi,
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
1,
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
2 và
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
3. Trong Python, danh sách là một loại đối tượng có thể lặp lại. Trong vòng
for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
9, biến vòng lặp là
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
5. Trên mỗi lần lặp của vòng lặp,
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
5 được đặt thành mục tiếp theo từ
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
0.

Bắt đầu nào!

>>> index = 0

>>> for value in values:
...     print(index, value)
...     index += 1
...
0 a
1 b
2 c

Một vòng lặp

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
9 trong Python sử dụng phép lặp dựa trên bộ sưu tập. Điều này có nghĩa là Python gán mục tiếp theo từ một biến có thể lặp lại cho biến vòng lặp trên mỗi lần lặp, giống như trong ví dụ này:

Bắt đầu nào!

>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c

Một vòng lặp

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
9 trong Python sử dụng phép lặp dựa trên bộ sưu tập. Điều này có nghĩa là Python gán mục tiếp theo từ một biến có thể lặp lại cho biến vòng lặp trên mỗi lần lặp, giống như trong ví dụ này:

>>>

Bắt đầu nào!

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
0

Một vòng lặp

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
9 trong Python sử dụng phép lặp dựa trên bộ sưu tập. Điều này có nghĩa là Python gán mục tiếp theo từ một biến có thể lặp lại cho biến vòng lặp trên mỗi lần lặp, giống như trong ví dụ này:

Với ví dụ này, một lỗi phổ biến có thể xảy ra là khi bạn quên cập nhật

#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
5 khi bắt đầu mỗi lần lặp. Điều này tương tự như lỗi trước khi quên cập nhật chỉ mục. Đây là một lý do mà vòng lặp này được coi là Pythonic.

Ví dụ này cũng có phần bị hạn chế vì

#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
0 phải cho phép truy cập vào các mục của nó bằng các chỉ số số nguyên. Các vòng lặp cho phép loại truy cập này được gọi là trình tự trong Python.sequences in Python.

May mắn thay, Python sườn

for idx, item in enumerate(my_list):
3 cho phép bạn tránh tất cả những vấn đề này. Nó có một chức năng tích hợp, có nghĩa là nó có sẵn trong mỗi phiên bản Python vì nó đã được thêm vào Python 2.3, trở lại vào năm 2003.built-in function, which means that it’s been available in every version of Python since it was added in Python 2.3, way back in 2003.

Sử dụng Python từ liệt kê ()

Bạn có thể sử dụng

for idx, item in enumerate(my_list):
3 trong một vòng lặp theo cách tương tự như bạn sử dụng đối tượng có thể lặp lại gốc. Thay vì đặt trực tiếp sau
>>> values = ["a", "b", "c"]

>>> for value in values:
...     print(value)
...
a
b
c
4 trong vòng lặp
for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
9, bạn đặt nó bên trong dấu ngoặc đơn của
for idx, item in enumerate(my_list):
3. Bạn cũng phải thay đổi biến vòng lặp một chút, như trong ví dụ này:

>>>

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
1

Khi bạn sử dụng

for idx, item in enumerate(my_list):
3, hàm cung cấp cho bạn hai biến vòng lặp:

  1. Số lượng của lần lặp hiện tạicount of the current iteration
  2. Giá trị của mục tại lần lặp hiện tạivalue of the item at the current iteration

Giống như với một vòng lặp

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
9 bình thường, các biến vòng lặp có thể được đặt tên là bất cứ điều gì bạn muốn chúng được đặt tên. Bạn sử dụng
>>> values = ["a", "b", "c"]

>>> for value in values:
...     print(value)
...
a
b
c
9 và
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
5 trong ví dụ này, nhưng chúng có thể được đặt tên là
>>> index = 0

>>> for value in values:
...     print(index, value)
...     index += 1
...
0 a
1 b
2 c
1 và
>>> index = 0

>>> for value in values:
...     print(index, value)
...     index += 1
...
0 a
1 b
2 c
2 hoặc bất kỳ tên Python hợp lệ nào khác.

Với

for idx, item in enumerate(my_list):
3, bạn không cần phải nhớ truy cập vào vật phẩm từ Itable, và bạn không cần phải nhớ để nâng chỉ số ở cuối vòng lặp. Mọi thứ đều được xử lý tự động cho bạn bởi sự kỳ diệu của Python!

Python sườn

for idx, item in enumerate(my_list):
3 có một đối số bổ sung mà bạn có thể sử dụng để kiểm soát giá trị bắt đầu của số đếm. Theo mặc định, giá trị bắt đầu là
countries = ['Pakistan','India','China','Russia','USA']

for index, element in zip(range(0,countries),countries):

         print('Index : ',index)
         print(' Element : ', element,'\n')

output : Index : 0 Element : Pakistan ...
5 vì các loại chuỗi Python được lập chỉ mục bắt đầu bằng 0. Nói cách khác, khi bạn muốn truy xuất phần tử đầu tiên của danh sách, bạn sử dụng INDEX
countries = ['Pakistan','India','China','Russia','USA']

for index, element in zip(range(0,countries),countries):

         print('Index : ',index)
         print(' Element : ', element,'\n')

output : Index : 0 Element : Pakistan ...
5:

>>>

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
2

Khi bạn sử dụng

for idx, item in enumerate(my_list):
3, hàm cung cấp cho bạn hai biến vòng lặp:

>>>

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
3

Khi bạn sử dụng

for idx, item in enumerate(my_list):
3, hàm cung cấp cho bạn hai biến vòng lặp:

Số lượng của lần lặp hiện tại

Giá trị của mục tại lần lặp hiện tại

Giống như với một vòng lặp for count in range(0,len(my_list)): print my_list[count] if count % 10 == 0: print 'did ten' 9 bình thường, các biến vòng lặp có thể được đặt tên là bất cứ điều gì bạn muốn chúng được đặt tên. Bạn sử dụng >>> values = ["a", "b", "c"] >>> for value in values: ... print(value) ... a b c 9 và #count=0 for idx, item in enumerate(list): print item #count +=1 #if count % 10 == 0: if (idx+1) % 10 == 0: print 'did ten' 5 trong ví dụ này, nhưng chúng có thể được đặt tên là >>> index = 0 >>> for value in values: ... print(index, value) ... index += 1 ... 0 a 1 b 2 c 1 và >>> index = 0 >>> for value in values: ... print(index, value) ... index += 1 ... 0 a 1 b 2 c 2 hoặc bất kỳ tên Python hợp lệ nào khác.

Với

for idx, item in enumerate(my_list):
3, bạn không cần phải nhớ truy cập vào vật phẩm từ Itable, và bạn không cần phải nhớ để nâng chỉ số ở cuối vòng lặp. Mọi thứ đều được xử lý tự động cho bạn bởi sự kỳ diệu của Python!

Python sườn

for idx, item in enumerate(my_list):
3 có một đối số bổ sung mà bạn có thể sử dụng để kiểm soát giá trị bắt đầu của số đếm. Theo mặc định, giá trị bắt đầu là
countries = ['Pakistan','India','China','Russia','USA']

for index, element in zip(range(0,countries),countries):

         print('Index : ',index)
         print(' Element : ', element,'\n')

output : Index : 0 Element : Pakistan ...
5 vì các loại chuỗi Python được lập chỉ mục bắt đầu bằng 0. Nói cách khác, khi bạn muốn truy xuất phần tử đầu tiên của danh sách, bạn sử dụng INDEX
countries = ['Pakistan','India','China','Russia','USA']

for index, element in zip(range(0,countries),countries):

         print('Index : ',index)
         print(' Element : ', element,'\n')

output : Index : 0 Element : Pakistan ...
5:

Bạn có thể thấy trong ví dụ này rằng việc truy cập
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
0 với chỉ mục
countries = ['Pakistan','India','China','Russia','USA']

for index, element in zip(range(0,countries),countries):

         print('Index : ',index)
         print(' Element : ', element,'\n')

output : Index : 0 Element : Pakistan ...
5 cung cấp cho phần tử đầu tiên,
>>> index = 0

>>> for value in values:
...     print(index, value)
...     index += 1
...
0 a
1 b
2 c
9. Tuy nhiên, có nhiều lần bạn có thể không muốn số lượng từ
for idx, item in enumerate(my_list):
3 bắt đầu tại
countries = ['Pakistan','India','China','Russia','USA']

for index, element in zip(range(0,countries),countries):

         print('Index : ',index)
         print(' Element : ', element,'\n')

output : Index : 0 Element : Pakistan ...
5. Chẳng hạn, bạn có thể muốn in một số đếm tự nhiên dưới dạng đầu ra cho người dùng. Trong trường hợp này, bạn có thể sử dụng đối số
>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c
2 cho
for idx, item in enumerate(my_list):
3 để thay đổi số lượng bắt đầu:

Trong ví dụ này, bạn vượt qua

>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c
4, bắt đầu
>>> values = ["a", "b", "c"]

>>> for value in values:
...     print(value)
...
a
b
c
9 với giá trị
>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c
6 trên vòng lặp vòng đầu tiên. So sánh điều này với các ví dụ trước, trong đó
>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c
2 có giá trị mặc định là
countries = ['Pakistan','India','China','Russia','USA']

for index, element in zip(range(0,countries),countries):

         print('Index : ',index)
         print(' Element : ', element,'\n')

output : Index : 0 Element : Pakistan ...
5 và xem liệu bạn có thể phát hiện ra sự khác biệt hay không.

  1. Thực hành với Python liệt kê ()
  2. Bạn nên sử dụng
    for idx, item in enumerate(my_list):
    
    3 bất cứ lúc nào bạn cần sử dụng đếm và một mục trong một vòng lặp. Hãy nhớ rằng
    for idx, item in enumerate(my_list):
    
    3 tăng số lượng trên mỗi lần lặp. Tuy nhiên, điều này chỉ giới hạn một chút tính linh hoạt của bạn. Vì số lượng là một số nguyên Python tiêu chuẩn, bạn có thể sử dụng nó theo nhiều cách. Trong một vài phần tiếp theo, bạn sẽ thấy một số cách sử dụng của
    for idx, item in enumerate(my_list):
    
    3.
  3. Số lượng vật phẩm tự nhiên của các mặt hàng có thể

Trong phần trước, bạn đã thấy cách sử dụng

for idx, item in enumerate(my_list):
3 với
>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c
2 để tạo số đếm tự nhiên để in cho người dùng.
for idx, item in enumerate(my_list):
3 cũng được sử dụng như thế này trong cơ sở mã Python. Bạn có thể thấy một ví dụ trong tập lệnh đọc các tệp REST và cho người dùng biết khi có vấn đề định dạng.

Ví dụ này được sửa đổi một chút từ count=0 for item in my_list: print item count +=1 if count % 10 == 0: print 'did ten' 05. Don Tiết lo lắng quá nhiều về cách chức năng này kiểm tra các vấn đề. Vấn đề là hiển thị việc sử dụng for idx, item in enumerate(my_list): 3 trong thế giới thực:

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
4

>>>

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
5

Trong ví dụ này, bạn sử dụng danh sách như một cơ sở dữ liệu giả của người dùng. Người dùng đầu tiên là người dùng thử nghiệm của bạn, vì vậy bạn muốn in thêm thông tin chẩn đoán về người dùng đó. Vì bạn đã thiết lập hệ thống của mình để người dùng thử nghiệm là đầu tiên, bạn có thể sử dụng giá trị chỉ mục đầu tiên của vòng lặp để in thêm đầu ra dài dòng.

Bạn cũng có thể kết hợp các hoạt động toán học với các điều kiện cho số lượng hoặc chỉ mục. Chẳng hạn, bạn có thể cần trả lại các mục từ một điều có thể, nhưng chỉ khi chúng có chỉ số chẵn. Bạn có thể làm điều này bằng cách sử dụng

for idx, item in enumerate(my_list):
3:

>>>

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
6

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
24 có một đối số, được gọi là
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
25, đó phải là một loại đối tượng mà Python có thể lặp lại. Đầu tiên,
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
0 được khởi tạo là một danh sách trống. Sau đó, bạn tạo một vòng
for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
9 trên
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
25 với
for idx, item in enumerate(my_list):
3 và đặt
>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c
4.

Trong vòng

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
9, bạn kiểm tra xem phần còn lại của việc chia
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
9 cho
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
33 là bằng không. Nếu có, thì bạn nối các mặt hàng vào
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
0. Cuối cùng, bạn trở lại
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
0.

Bạn có thể làm cho mã Pythonic hơn bằng cách sử dụng danh sách hiểu để làm điều tương tự trong một dòng mà không khởi tạo danh sách trống:

>>>

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
7

Trong mã ví dụ này,

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
24 sử dụng khả năng hiểu danh sách thay vì vòng lặp
for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
9 để trích xuất mọi mục từ danh sách có chỉ mục là số chẵn.

Bạn có thể xác minh rằng

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
24 hoạt động như mong đợi bằng cách lấy các mục được chỉ số từ một loạt các số nguyên từ
>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c
6 đến
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
40. Kết quả sẽ là
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
41:

>>>

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
8

Đúng như dự đoán,

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
24 trả về các mục được lập chỉ mục từ
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
43. Đây là cách hiệu quả nhất để có được các số chẵn khi bạn làm việc với các số nguyên. Tuy nhiên, bây giờ bạn đã xác minh rằng
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
24 hoạt động đúng, bạn có thể nhận được các chữ cái được chỉ số của bảng chữ cái ASCII:

>>>

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
9

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
45 là một chuỗi có tất cả hai mươi sáu chữ cái của bảng chữ cái ASCII. Gọi
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
24 và vượt qua
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
45 trả về một danh sách các chữ cái xen kẽ từ bảng chữ cái.

Chuỗi Python là các chuỗi, có thể được sử dụng trong các vòng lặp cũng như trong lập chỉ mục và cắt số nguyên. Vì vậy, trong trường hợp chuỗi, bạn có thể sử dụng dấu ngoặc vuông để đạt được chức năng tương tự như

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
24 hiệu quả hơn:

>>>

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
0

Sử dụng cắt chuỗi ở đây, bạn cung cấp chỉ mục bắt đầu

>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c
6, tương ứng với phần tử thứ hai. Không có chỉ số kết thúc sau khi đại tràng đầu tiên, vì vậy Python đi đến cuối chuỗi. Sau đó, bạn thêm đại tràng thứ hai theo sau là
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
33 để Python sẽ lấy mọi yếu tố khác.

Tuy nhiên, như bạn đã thấy trước đó, máy phát điện và máy lặp có thể được lập chỉ mục hoặc cắt lát, do đó, bạn vẫn sẽ thấy

for idx, item in enumerate(my_list):
3 hữu ích. Để tiếp tục ví dụ trước, bạn có thể tạo một hàm trình tạo mang lại các chữ cái của bảng chữ cái theo yêu cầu:

>>>

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
1

Trong ví dụ này, bạn xác định

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
52, một hàm trình tạo mang lại các chữ cái của bảng chữ cái từng người một khi hàm được sử dụng trong một vòng lặp. Các chức năng của Python, cho dù là máy phát điện hoặc các chức năng thông thường, có thể được truy cập bằng cách lập chỉ mục khung vuông. Bạn thử điều này trên dòng thứ hai, và nó tăng
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
53.

Tuy nhiên, bạn có thể sử dụng các hàm của máy phát trong các vòng lặp và bạn làm như vậy trên dòng cuối cùng bằng cách chuyển

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
52 đến
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
24. Bạn có thể thấy rằng kết quả giống như hai ví dụ trước.

Hiểu Python liệt kê ()

Trong một vài phần cuối cùng, bạn đã thấy các ví dụ về thời điểm và cách sử dụng

for idx, item in enumerate(my_list):
3 cho lợi thế của bạn. Bây giờ bạn đã có một xử lý các khía cạnh thực tế của
for idx, item in enumerate(my_list):
3, bạn có thể tìm hiểu thêm về cách thức hoạt động của chức năng.

Để hiểu rõ hơn về cách

for idx, item in enumerate(my_list):
3 hoạt động, bạn có thể triển khai phiên bản của riêng mình với Python. Phiên bản
for idx, item in enumerate(my_list):
3 của bạn có hai yêu cầu. Nó nên:

  1. Chấp nhận giá trị số lượng và giá trị khởi động là đối số
  2. Gửi lại một tuple với giá trị đếm hiện tại và mục được liên kết từ có thể điều chỉnh được

Một cách để viết một chức năng Gặp gỡ các thông số kỹ thuật này được đưa ra trong tài liệu Python:

>>>

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
2

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
60 có hai đối số,
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
61 và
>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c
2. Giá trị mặc định của
>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c
2 là
countries = ['Pakistan','India','China','Russia','USA']

for index, element in zip(range(0,countries),countries):

         print('Index : ',index)
         print(' Element : ', element,'\n')

output : Index : 0 Element : Pakistan ...
5. Bên trong định nghĩa hàm, bạn khởi tạo
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
65 là giá trị của
>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c
2 và chạy vòng lặp
for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
9 trên
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
61.

Đối với mỗi

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
69 trong
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
61, bạn
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
71 kiểm soát trở lại vị trí gọi và gửi lại các giá trị hiện tại của
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
65 và
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
69. Cuối cùng, bạn tăng
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
65 để sẵn sàng cho lần lặp tiếp theo. Bạn có thể thấy
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
60 hoạt động ở đây:

>>>

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
3

Đầu tiên, bạn tạo một danh sách bốn mùa để làm việc. Tiếp theo, bạn cho thấy rằng việc gọi

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
60 với
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
77 là
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
61 tạo ra một đối tượng máy phát. Điều này là do bạn sử dụng từ khóa
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
71 để gửi lại giá trị cho người gọi.

Cuối cùng, bạn tạo hai danh sách từ

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
60, một trong đó giá trị bắt đầu được để lại là mặc định,
countries = ['Pakistan','India','China','Russia','USA']

for index, element in zip(range(0,countries),countries):

         print('Index : ',index)
         print(' Element : ', element,'\n')

output : Index : 0 Element : Pakistan ...
5 và một trong đó
>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c
2 được thay đổi thành
>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c
6. Trong cả hai trường hợp, bạn kết thúc với một danh sách các bộ dữ liệu trong đó phần tử đầu tiên của mỗi tuple là số lượng và phần tử thứ hai là giá trị từ
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
77.

Mặc dù bạn có thể thực hiện một hàm tương đương cho

for idx, item in enumerate(my_list):
3 chỉ trong một vài dòng mã python, mã thực tế cho
for idx, item in enumerate(my_list):
3 được viết bằng C. Điều này có nghĩa là nó siêu nhanh và hiệu quả.

Giải nén các đối số với Enumerate ()

Khi bạn sử dụng

for idx, item in enumerate(my_list):
3 trong vòng lặp
for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
9, bạn bảo Python sử dụng hai biến, một để đếm và một cho chính giá trị. Bạn có thể làm điều này bằng cách sử dụng khái niệm Python có tên là đối số giải nén.argument unpacking.

Đối số Giải nén là ý tưởng rằng một tuple có thể được chia thành một số biến tùy thuộc vào độ dài của chuỗi. Chẳng hạn, bạn có thể giải nén hai phần tử thành hai biến:

>>>

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
4

Đầu tiên, bạn tạo một tuple với hai yếu tố,

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
40 và
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
1. Sau đó, bạn giải nén bộ điều đó thành
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
91 và
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
92, mỗi cái được gán một trong các giá trị từ tuple.

Khi bạn gọi

for idx, item in enumerate(my_list):
3 và truyền một chuỗi các giá trị, Python trả về một trình lặp. Khi bạn hỏi trình lặp lại giá trị tiếp theo của nó, nó sẽ mang lại một bộ phận với hai yếu tố. Yếu tố đầu tiên của tuple là đếm và phần tử thứ hai là giá trị từ chuỗi bạn đã vượt qua:iterator. When you ask the iterator for its next value, it yields a tuple with two elements. The first element of the tuple is the count, and the second element is the value from the sequence that you passed:

>>>

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
5

Đầu tiên, bạn tạo một tuple với hai yếu tố,

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
40 và
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
1. Sau đó, bạn giải nén bộ điều đó thành
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
91 và
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
92, mỗi cái được gán một trong các giá trị từ tuple.

Khi bạn gọi

for idx, item in enumerate(my_list):
3 và truyền một chuỗi các giá trị, Python trả về một trình lặp. Khi bạn hỏi trình lặp lại giá trị tiếp theo của nó, nó sẽ mang lại một bộ phận với hai yếu tố. Yếu tố đầu tiên của tuple là đếm và phần tử thứ hai là giá trị từ chuỗi bạn đã vượt qua:

Trong ví dụ này, bạn tạo một danh sách có tên

#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
0 với hai phần tử,
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
1 và
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
2. Sau đó, bạn chuyển
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
0 đến
for idx, item in enumerate(my_list):
3 và gán giá trị trả về cho
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
99. Khi bạn in
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
99, bạn có thể thấy rằng đó là một thể hiện của
for idx, item in enumerate(my_list):
3 với một địa chỉ bộ nhớ cụ thể.

Sau đó, bạn sử dụng Python, tích hợp

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
02 để nhận giá trị tiếp theo từ
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
99. Giá trị đầu tiên mà
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
99 trả về là một tuple với số lượng
countries = ['Pakistan','India','China','Russia','USA']

for index, element in zip(range(0,countries),countries):

         print('Index : ',index)
         print(' Element : ', element,'\n')

output : Index : 0 Element : Pakistan ...
5 và phần tử đầu tiên từ
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
0, đó là
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
1.

Gọi

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
02 một lần nữa trên
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
99 mang lại một bộ khác, lần này với số lượng
>>> index = 0

>>> for value in values:
...     print(index, value)
...
0 a
0 b
0 c
6 và phần tử thứ hai từ
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
0,
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
2. Cuối cùng, gọi
for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
02 Một lần nữa tăng
for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
14 vì không có thêm giá trị nào được trả về từ
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
99.

Khi một ITEBLE được sử dụng trong vòng lặp

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
9, Python sẽ tự động gọi
for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
02 khi bắt đầu mỗi lần lặp cho đến khi
for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
14 được nâng lên. Python gán giá trị mà nó truy xuất từ ​​biến có thể lặp lại cho biến vòng lặp.

>>>

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
6

Đầu tiên, bạn tạo một tuple với hai yếu tố,

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
40 và
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
1. Sau đó, bạn giải nén bộ điều đó thành
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
91 và
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
92, mỗi cái được gán một trong các giá trị từ tuple.

Khi bạn gọi

for idx, item in enumerate(my_list):
3 và truyền một chuỗi các giá trị, Python trả về một trình lặp. Khi bạn hỏi trình lặp lại giá trị tiếp theo của nó, nó sẽ mang lại một bộ phận với hai yếu tố. Yếu tố đầu tiên của tuple là đếm và phần tử thứ hai là giá trị từ chuỗi bạn đã vượt qua:nested argument unpacking:

>>>

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
7

Đầu tiên, bạn tạo một tuple với hai yếu tố,

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
40 và
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
1. Sau đó, bạn giải nén bộ điều đó thành
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
91 và
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
92, mỗi cái được gán một trong các giá trị từ tuple.

Khi bạn gọi

for idx, item in enumerate(my_list):
3 và truyền một chuỗi các giá trị, Python trả về một trình lặp. Khi bạn hỏi trình lặp lại giá trị tiếp theo của nó, nó sẽ mang lại một bộ phận với hai yếu tố. Yếu tố đầu tiên của tuple là đếm và phần tử thứ hai là giá trị từ chuỗi bạn đã vượt qua:

>>>

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'
8

Đầu tiên, bạn tạo một tuple với hai yếu tố,

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
40 và
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
1. Sau đó, bạn giải nén bộ điều đó thành
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
91 và
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
92, mỗi cái được gán một trong các giá trị từ tuple.

Khi bạn gọi for idx, item in enumerate(my_list): 3 và truyền một chuỗi các giá trị, Python trả về một trình lặp. Khi bạn hỏi trình lặp lại giá trị tiếp theo của nó, nó sẽ mang lại một bộ phận với hai yếu tố. Yếu tố đầu tiên của tuple là đếm và phần tử thứ hai là giá trị từ chuỗi bạn đã vượt qua:

Trong ví dụ này, bạn tạo một danh sách có tên

#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
0 với hai phần tử,
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
1 và
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
2. Sau đó, bạn chuyển
#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'
0 đến
for idx, item in enumerate(my_list):
3 và gán giá trị trả về cho
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
99. Khi bạn in
count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'
99, bạn có thể thấy rằng đó là một thể hiện của
for idx, item in enumerate(my_list):
3 với một địa chỉ bộ nhớ cụ thể.

Trong hướng dẫn này, bạn đã học được cách:

  • Sử dụng Python từ
    for idx, item in enumerate(my_list):
    
    3 trong các vòng
    for count in range(0,len(my_list)):
        print my_list[count]
        if count % 10 == 0:
            print 'did ten'
    
    9 của bạn
    for idx, item in enumerate(my_list):
    
    3
    in your
    for count in range(0,len(my_list)):
        print my_list[count]
        if count % 10 == 0:
            print 'did ten'
    
    9 loops
  • Áp dụng
    for idx, item in enumerate(my_list):
    
    3 trong một vài ví dụ trong thế giới thựcreal-world examples
  • Nhận các giá trị từ
    for idx, item in enumerate(my_list):
    
    3 bằng cách sử dụng đối số giải nénargument unpacking
  • Thực hiện chức năng tương đương của riêng bạn thành
    for idx, item in enumerate(my_list):
    
    3equivalent function to
    for idx, item in enumerate(my_list):
    
    3

Bạn cũng đã thấy

for idx, item in enumerate(my_list):
3 được sử dụng trong một số mã trong thế giới thực, bao gồm trong kho lưu trữ mã CPython.Bây giờ bạn có siêu năng lực để đơn giản hóa các vòng lặp của bạn và làm cho mã Python của bạn phong cách!

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự.Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: lặp lại với Python Enumerate () This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Looping With Python enumerate()