Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - ช่วงต่อเนื่องของ K มากกว่า N


เมื่อจำเป็นต้องได้รับช่วงที่ต่อเนื่องกันของ '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' ค่าดัชนีจะถูกกำหนดใหม่

  • มิฉะนั้น ค่าของ 'ก่อนหน้า' จะถูกกำหนดใหม่

  • ค่าเริ่มต้นและสิ้นสุดจะถูกผนวกเข้ากับรายการที่ว่างเปล่า

  • ส่งคืนเป็นเอาต์พุต

  • เอาต์พุตจะแสดงบนคอนโซล