Trong Python, bạn có thể nhận phần tử và chỉ mục [đếm] từ các đối tượng có thể lặp lại như
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
3 và for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
4 trong vòng lặp for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
5 với hàm tích hợp for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
6.- Chức năng tích hợp - Tái hiện [] - Tài liệu Python 3.8.5
Bài viết này mô tả các nội dung sau đây.
- Cách sử dụng
6for i, name in enumerate[l, 1]: print[i, name] # 1 Alice # 2 Bob # 3 Charlie
- Vòng lặp
5 bình thườngfor i, name in enumerate[l, 1]: print[i, name] # 1 Alice # 2 Bob # 3 Charlie
5 Vòng lặp vớifor i, name in enumerate[l, 1]: print[i, name] # 1 Alice # 2 Bob # 3 Charlie
6for i, name in enumerate[l, 1]: print[i, name] # 1 Alice # 2 Bob # 3 Charlie
- Vòng lặp
- Bắt đầu chỉ mục ở mức 1 với
6for i, name in enumerate[l, 1]: print[i, name] # 1 Alice # 2 Bob # 3 Charlie
- Đặt bước với
6for i, name in enumerate[l, 1]: print[i, name] # 1 Alice # 2 Bob # 3 Charlie
Xem các bài viết sau đây để biết thêm thông tin về vòng lặp
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
5 và cách sử dụng for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
6 và for i, name in enumerate[l, 42]:
print[i, name]
# 42 Alice
# 43 Bob
# 44 Charlie
5 cùng nhau.- cho vòng lặp trong Python [với phạm vi, liệt kê, zip, v.v.]
- Sử dụng Enumerate [] và Zip [] cùng nhau trong Python
Cách sử dụng for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
6
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
Vòng lặp for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
5 bình thường
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
l = ['Alice', 'Bob', 'Charlie']
for name in l:
print[name]
# Alice
# Bob
# Charlie
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
5 Vòng lặp với for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
6
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
Bắt đầu chỉ mục ở mức 1 với
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
6for i, name in enumerate[l]:
print[i, name]
# 0 Alice
# 1 Bob
# 2 Charlie
Bắt đầu chỉ mục ở mức 1 với for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
6
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
Đặt bước với
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
6Xem các bài viết sau đây để biết thêm thông tin về vòng lặp
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
5 và cách sử dụng for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
6 và for i, name in enumerate[l, 42]:
print[i, name]
# 42 Alice
# 43 Bob
# 44 Charlie
5 cùng nhau.cho vòng lặp trong Python [với phạm vi, liệt kê, zip, v.v.]
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
Sử dụng Enumerate [] và Zip [] cùng nhau trong Python
for i, name in enumerate[l, 42]:
print[i, name]
# 42 Alice
# 43 Bob
# 44 Charlie
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
5 Vòng lặp với for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
6for i, name in enumerate[l, 1]:
print['{:03}_{}'.format[i, name]]
# 001_Alice
# 002_Bob
# 003_Charlie
Đặt bước với for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
6
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
Xem các bài viết sau đây để biết thêm thông tin về vòng lặp
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
5 và cách sử dụng for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
6 và for i, name in enumerate[l, 42]:
print[i, name]
# 42 Alice
# 43 Bob
# 44 Charlie
5 cùng nhau.step = 3
for i, name in enumerate[l]:
print[i * step, name]
# 0 Alice
# 3 Bob
# 6 Charlie
209
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi đang sử dụng Python 2.5, tôi muốn có một bảng liệt kê như vậy [bắt đầu từ 1 thay vì 0]:
[[1, 2000], [2, 2001], [3, 2002], [4, 2003], [5, 2004]]
Tôi biết trong Python 2.6 Bạn có thể làm: H = Enumate [phạm vi [2000, 2005], 1] để đưa ra kết quả trên nhưng trong Python2.5, bạn không thể ...
Sử dụng Python 2.5:
>>> h = enumerate[range[2000, 2005]]
>>> [x for x in h]
[[0, 2000], [1, 2001], [2, 2002], [3, 2003], [4, 2004]]
Có ai biết một cách để có được kết quả mong muốn đó trong Python 2.5 không?
Seanny123
8.06312 Huy hiệu vàng66 Huy hiệu bạc118 Huy hiệu đồng12 gold badges66 silver badges118 bronze badges
Đã hỏi ngày 21 tháng 7 năm 2010 lúc 20:37Jul 21, 2010 at 20:37
3
Như bạn đã đề cập, điều này rất đơn giản để làm trong Python 2.6 hoặc mới hơn:
enumerate[range[2000, 2005], 1]
Python 2.5 trở lên không hỗ trợ tham số
step = 3
for i, name in enumerate[l]:
print[i * step, name]
# 0 Alice
# 3 Bob
# 6 Charlie
0 để thay vào đó bạn có thể tạo hai đối tượng phạm vi và zip chúng:r = xrange[2000, 2005]
r2 = xrange[1, len[r] + 1]
h = zip[r2, r]
print h
Result:
for i, name in enumerate[l]:
print[i, name]
# 0 Alice
# 1 Bob
# 2 Charlie
0Nếu bạn muốn tạo một trình tạo thay vì một danh sách thì bạn có thể sử dụng izip thay thế.
Đã trả lời ngày 21 tháng 7 năm 2010 lúc 20:41Jul 21, 2010 at 20:41
Mark Byersmark ByersMark Byers
783K185 Huy hiệu vàng1552 Huy hiệu bạc1440 Huy hiệu đồng185 gold badges1552 silver badges1440 bronze badges
5
Chỉ cần đặt cái này ở đây để làm sake, trong 2.6 tham số "bắt đầu" đã được thêm vào để liệt kê như vậy:
step = 3
for i, name in enumerate[l]:
print[i * step, name]
# 0 Alice
# 3 Bob
# 6 Charlie
1Đã trả lời ngày 6 tháng 2 năm 2013 lúc 18:28Feb 6, 2013 at 18:28
Dhacknerdhacknerdhackner
2.8222 Huy hiệu vàng19 Huy hiệu bạc23 Huy hiệu đồng2 gold badges19 silver badges23 bronze badges
1
Python 3
Tài liệu Python chính thức:
2 step = 3
for i, name in enumerate[l]:
print[i * step, name]
# 0 Alice
# 3 Bob
# 6 Charlie
step = 3
for i, name in enumerate[l]:
print[i * step, name]
# 0 Alice
# 3 Bob
# 6 Charlie
2Bạn không cần phải viết trình tạo của riêng bạn như các câu trả lời khác ở đây đề xuất. Thư viện tiêu chuẩn Python tích hợp đã chứa một hàm thực hiện chính xác những gì bạn muốn:generator as other answers here suggest. The built-in Python standard library already contains a function that does exactly what you want:
for i, name in enumerate[l]:
print[i, name]
# 0 Alice
# 1 Bob
# 2 Charlie
1Chức năng tích hợp tương đương với điều này:
for i, name in enumerate[l]:
print[i, name]
# 0 Alice
# 1 Bob
# 2 Charlie
2Đã trả lời ngày 23 tháng 6 năm 2019 lúc 11:52Jun 23, 2019 at 11:52
Winklerrrwinklerrrwinklerrr
10,7K5 Huy hiệu vàng65 Huy hiệu bạc81 Huy hiệu Đồng5 gold badges65 silver badges81 bronze badges
Dễ dàng, chỉ cần xác định chức năng của riêng bạn thực hiện những gì bạn muốn:
for i, name in enumerate[l]:
print[i, name]
# 0 Alice
# 1 Bob
# 2 Charlie
3Đã trả lời ngày 21 tháng 7 năm 2010 lúc 20:44Jul 21, 2010 at 20:44
DuncanduncanDuncan
88.4K10 Huy hiệu vàng116 Huy hiệu bạc155 Huy hiệu Đồng10 gold badges116 silver badges155 bronze badges
Cách đơn giản nhất để làm trong Python 2.5 Chính xác những gì bạn hỏi về:
for i, name in enumerate[l]:
print[i, name]
# 0 Alice
# 1 Bob
# 2 Charlie
4Nếu bạn muốn một danh sách, như bạn xuất hiện, hãy sử dụng
step = 3
for i, name in enumerate[l]:
print[i * step, name]
# 0 Alice
# 3 Bob
# 6 Charlie
3 thay cho step = 3
for i, name in enumerate[l]:
print[i * step, name]
# 0 Alice
# 3 Bob
# 6 Charlie
4..
Đã trả lời ngày 21 tháng 7 năm 2010 lúc 21:48Jul 21, 2010 at 21:48
Alex Martellialex MartelliAlex Martelli
826K163 Huy hiệu vàng1203 Huy hiệu bạc1382 Huy hiệu Đồng163 gold badges1203 silver badges1382 bronze badges
for i, name in enumerate[l]:
print[i, name]
# 0 Alice
# 1 Bob
# 2 Charlie
5Bây giờ
step = 3
for i, name in enumerate[l]:
print[i * step, name]
# 0 Alice
# 3 Bob
# 6 Charlie
7 hoạt động.Đã trả lời ngày 21 tháng 7 năm 2010 lúc 20:43Jul 21, 2010 at 20:43
Jochen Ritzeljochen RitzelJochen Ritzel
102K29 Huy hiệu vàng196 Huy hiệu bạc191 Huy hiệu Đồng29 gold badges196 silver badges191 bronze badges
0
liệt kê là tầm thường, và việc thực hiện lại nó để chấp nhận bắt đầu:
for i, name in enumerate[l]:
print[i, name]
# 0 Alice
# 1 Bob
# 2 Charlie
6Lưu ý rằng điều này không phá vỡ mã bằng cách sử dụng Enumerate mà không bắt đầu đối số. Ngoài ra, Oneliner này có thể thanh lịch hơn và có thể nhanh hơn, nhưng phá vỡ các cách sử dụng khác để liệt kê:
for i, name in enumerate[l]:
print[i, name]
# 0 Alice
# 1 Bob
# 2 Charlie
7Sau này là vô nghĩa thuần túy. @Duncan có được trình bao bọc đúng.
Đã trả lời ngày 21 tháng 7 năm 2010 lúc 20:49Jul 21, 2010 at 20:49
1
for i, name in enumerate[l]:
print[i, name]
# 0 Alice
# 1 Bob
# 2 Charlie
8Đã trả lời ngày 21 tháng 7 năm 2010 lúc 21:06Jul 21, 2010 at 21:06
JabjabJAB
20.3k6 Huy hiệu vàng68 Huy hiệu bạc79 Huy hiệu đồng6 gold badges68 silver badges79 bronze badges
3
step = 3
for i, name in enumerate[l]:
print[i * step, name]
# 0 Alice
# 3 Bob
# 6 Charlie
8Đã trả lời ngày 21 tháng 7 năm 2010 lúc 20:39Jul 21, 2010 at 20:39
Chris B.Chris B.Chris B.
81.3K25 Huy hiệu vàng95 Huy hiệu bạc136 Huy hiệu đồng25 gold badges95 silver badges136 bronze badges
3
Ok, tôi cảm thấy hơi ngu ngốc ở đây ... lý do gì không chỉ làm điều đó với một cái gì đó như
step = 3
for i, name in enumerate[l]:
print[i * step, name]
# 0 Alice
# 3 Bob
# 6 Charlie
9? Nếu bạn không hoạt động, cũng không có vấn đề:step = 3
for i, name in enumerate[l]:
print[i * step, name]
# 0 Alice
# 3 Bob
# 6 Charlie
9 ? If you won't function, no problem either:for i, name in enumerate[l]:
print[i, name]
# 0 Alice
# 1 Bob
# 2 Charlie
9Đã trả lời ngày 22 tháng 7 năm 2010 lúc 3:55Jul 22, 2010 at 3:55
NAS Banovnas BanovNas Banov
Phim thương hiệu vàng 27,8K66 gold badges46 silver badges67 bronze badges
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
0Vì điều này có phần dài dòng, tôi khuyên bạn nên viết chức năng của riêng bạn để khái quát nó:
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
1Đã trả lời ngày 21 tháng 7 năm 2010 lúc 20:41Jul 21, 2010 at 20:41
Eli Courtwrighteli CourtwrightEli Courtwright
179K66 Huy hiệu vàng209 Huy hiệu bạc256 Huy hiệu Đồng66 gold badges209 silver badges256 bronze badges
1
Tôi không biết làm thế nào những bài viết này có thể trở nên phức tạp hơn sau đó:
for i, name in enumerate[l, 1]:
print[i, name]
# 1 Alice
# 2 Bob
# 3 Charlie
2Đã trả lời ngày 27 tháng 5 năm 2019 lúc 17:00May 27, 2019 at 17:00
BMCBMCbmc
8071 Huy hiệu vàng12 Huy hiệu bạc18 Huy hiệu đồng1 gold badge12 silver badges18 bronze badges