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

การหา Index ของตัวเลขที่มากกว่า K ในลิสต์ Python

โจทย์: หาดัชนี (Index) ของสมาชิกในลิสต์ที่มีค่ามากกว่า K

Input/Output

numbers = [3, 4, 5, 23, 12, 10, 16]
K = 10
Output: 3 4 6  (index ของ 23, 12, 16)

วิธีที่ 1: ใช้ Loop ธรรมดา

numbers = [3, 4, 5, 23, 12, 10, 16]
K = 10

for i in range(len(numbers)):
    if numbers[i] > K:
        print(i, end=' ')

ผลลัพธ์

3 4 6

วิธีที่ 2: ใช้ enumerate() และ List Comprehension (แนะนำ)

enumerate() ให้ (index, value) พร้อมกัน ใช้กรองด้วยเงื่อนไข

numbers = [3, 4, 5, 23, 12, 10, 16]
K = 10

result = [index for (index, number) in enumerate(numbers) if number > K]
print(*result)

ผลลัพธ์

3 4 6

ข้อดีของ enumerate: ไม่ต้องใช้ numbers[i] เข้าถึงค่าซ้ำ อ่านง่าย และเป็น Pythonic