เมื่อจำเป็นต้องได้รับช่วงที่ต่อเนื่องกันของ 'K' ซึ่งมากกว่า 'N' แอตทริบิวต์ 'enumerate' และการวนซ้ำอย่างง่ายจะถูกใช้
ตัวอย่าง
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน
my_list = [3, 65, 33, 23, 65, 65, 65, 65, 65, 65, 65, 3, 65]
print("The list is :")
print(my_list)
K = 65
N = 3
print("The value of K is ")
print(K)
print("The value of N is ")
print(N)
my_result = []
beg, end = 0, 0
previous = 1
for index, element in enumerate(my_list):
if element == K:
end = index
if previous != K:
beg = index
else:
if previous == K and end - beg + 1 >= N:
my_result.append((beg, end))
previous = element
print("The result is :")
print(my_result) ผลลัพธ์
The list is : [3, 65, 33, 23, 65, 65, 65, 65, 65, 65, 65, 3, 65] The value of K is 65 The value of N is 3 The result is : [(4, 10)]
คำอธิบาย
-
รายการถูกกำหนดและแสดงบนคอนโซล
-
ค่าสำหรับ 'K' และ 'N' ถูกกำหนดและแสดงบนคอนโซล
-
มีการกำหนดรายการที่ว่างเปล่า
-
ค่าสำหรับ 'ก่อนหน้า' ถูกกำหนดไว้
-
ค่าสำหรับ 'เริ่มต้น' และ 'สิ้นสุด' ถูกกำหนดไว้
-
รายการจะวนซ้ำโดยแจกแจงรายการ
-
หากองค์ประกอบใดในรายการเทียบเท่ากับค่าอื่น 'k' ค่าดัชนีจะถูกกำหนดใหม่
-
มิฉะนั้น ค่าของ 'ก่อนหน้า' จะถูกกำหนดใหม่
-
ค่าเริ่มต้นและสิ้นสุดจะถูกผนวกเข้ากับรายการที่ว่างเปล่า
-
ส่งคืนเป็นเอาต์พุต
-
เอาต์พุตจะแสดงบนคอนโซล