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

Python รับองค์ประกอบรายการย่อยจนถึงN


ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่ส่งคืนองค์ประกอบรายการย่อยจนถึงรายการย่อยที่ n ในรายการ สมมติว่าเรามีรายการย่อย 5 รายการต่อไปนี้

[['Python', 'Java'], ['C', 'Pascal'], ['Javascript', 'PHP'], ['C#', 'C++'], ['ตอบสนอง ', 'เชิงมุม']] ตอนนี้ เราต้องรับองค์ประกอบแรกจากสามรายการย่อยแรก เราสามารถรับองค์ประกอบต่าง ๆ ได้ มาดูกันบ้าง

ลูป

แนวคิดทั่วไปและประการแรกสำหรับโปรแกรมเมอร์ส่วนใหญ่คือการใช้ลูป มาดูโค้ดแบบวนซ้ำกัน

ตัวอย่าง

# initializing the list and N
random_list = [['Python', 'Java'], ['C', 'Pascal'], ['Javascript', 'PHP'], ['C#
C++'], ['React', 'Angular']]
N = 3
# empty list to store final elements from the sublists
desired_elements = []
# iterating over the list till 3rd element
for i in range(N):
   # storing the first element from the sublist
   desired_elements.append(random_list[i][0])
# printing the elements
print(desired_elements)

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

['Python', 'C', 'Javascript']

เราสามารถใช้ รายการความเข้าใจ แทนที่ for loop . มาดูรหัสเดียวกันโดยใช้ความเข้าใจรายการ

ตัวอย่าง

# initializing the list and N
random_list = [['Python', 'Java'], ['C', 'Pascal'], ['Javascript', 'PHP'], ['C#
C++'], ['React', 'Angular']]
N = 3
# getting first element from the sublists
desired_elements = [sublist[0] for sublist in random_list[:N]]
# printing the elements
print(desired_elements)

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

['Python', 'C', 'Javascript']

การใช้วิธีการในตัว

Python มีโมดูลและวิธีการในตัวมากมาย มาใช้แก้ปัญหากันเถอะ กำลังจะใช้ แผนที่ itemgetter และ islice วิธีการให้ได้ผลลัพธ์ตามที่คาดไว้ มาดูโค้ดกันเลย

ตัวอย่าง

# importing the required methods
import operator # for itemgetter
import itertools # for islice
# initializing the list and N
random_list = [['Python', 'Java'], ['C', 'Pascal'], ['Javascript', 'PHP'], ['C#
C++'], ['React', 'Angular']]
N = 3
# getting first element from the sublists
desired_elements = list(map(operator.itemgetter(0), itertools.islice(random_list, N)))
# printing the elements
print(desired_elements)

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

['Python', 'C', 'Javascript']

บทสรุป

คุณสามารถใช้องค์ประกอบใดก็ได้แทนองค์ประกอบแรก เราได้นำองค์ประกอบแรกสำหรับการสาธิต หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น