เราสามารถสร้างลำดับใหม่โดยใช้ลำดับหลามที่กำหนด สิ่งนี้เรียกว่าความเข้าใจ โดยพื้นฐานแล้วมันเป็นวิธีการเขียนบล็อคโค้ดที่รัดกุมเพื่อสร้างลำดับซึ่งอาจเป็นรายการ พจนานุกรม ชุดหรือตัวสร้างโดยใช้ลำดับอื่น อาจเกี่ยวข้องกับการแปลงหลายขั้นตอนระหว่างลำดับประเภทต่างๆ
รายการความเข้าใจ
ในวิธีนี้ เราสร้างรายการใหม่โดยจัดการค่าของรายการที่มีอยู่ ในตัวอย่างด้านล่าง เราจะสร้างรายการและสร้างรายการใหม่โดยการเพิ่ม 3 ในแต่ละองค์ประกอบของรายการที่กำหนด
ตัวอย่าง
given_list =[x สำหรับ x ใน range(5)]print(given_list)new_list =[var+3 for var in given_list]print(new_list)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
[0, 1, 2, 3, 4][3, 4, 5, 6, 7]
ความเข้าใจในพจนานุกรม
คล้ายกับข้างต้น เราสามารถจดรายการและสร้างพจนานุกรมจากมันได้
ตัวอย่าง
given_list =[x สำหรับ x ใน range(5)]print(given_list)#new_list =[var+3 for var in given_list]new_dict ={var:var + 3 for var in given_list }print(new_dict)ก่อน>ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
[0, 1, 2, 3, 4]{0:3, 1:4, 2:5, 3:6, 4:7}เรายังสามารถนำสองรายการมาสร้างพจนานุกรมใหม่ได้
ตัวอย่าง
list1 =[x สำหรับ x ในช่วง (5)]list2 =['Mon','Tue','Wed','Thu','Fri']print(list1)print(list2)new_dict ={key :value สำหรับ (คีย์, ค่า) ใน zip(list1, list2)}print(new_dict)ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
[0, 1, 2, 3, 4]['จันทร์', 'อังคาร', 'พุธ', 'พฤหัสบดี', 'ศุกร์']{0:'จันทร์', 1:'อังคาร', 2:'พุธ', 3:'พฤหัสบดี', 4:'ศุกร์'}กำหนดความเข้าใจ
เราสามารถใช้แนวทางที่คล้ายคลึงกันด้านบนและสร้างชุดใหม่จากชุดหรือรายการที่มีอยู่ ในตัวอย่างด้านล่าง เราสร้างชุดใหม่โดยการเพิ่ม 3 องค์ประกอบของชุดที่มีอยู่
ตัวอย่าง
given_set ={x สำหรับ x ใน range(5)}print(given_set)new_set ={var+3 for var in given_set}print(new_set)ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
{0, 1, 2, 3, 4}{3, 4, 5, 6, 7}ความเข้าใจของเครื่องกำเนิด
เครื่องกำเนิดไฟฟ้าใหม่สามารถสร้างได้จากรายการที่มีอยู่ เจนเนอเรเตอร์เหล่านี้เป็นหน่วยความจำที่มีประสิทธิภาพเนื่องจากจัดสรรหน่วยความจำเนื่องจากสร้างไอเท็มแทนการจัดสรรตั้งแต่เริ่มต้น
ตัวอย่าง
given_list =[x สำหรับ x ในช่วง(5)]print(given_list)new_set =(var+3 สำหรับ var ใน given_list) สำหรับ var1 ใน new_set:print(var1, end=" ")ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
[0, 1, 2, 3, 4]3 4 5 6 7