อาจมีสถานการณ์เมื่อเราจำเป็นต้องแปลงองค์ประกอบในรายการเป็นรายการในตัวเอง กล่าวคือ สร้างรายการที่ซ้อนกันเนื่องจากองค์ประกอบเป็นรายการด้วย
การใช้การวนซ้ำ
นี่เป็นแนวทางใหม่ที่เรานำแต่ละองค์ประกอบของรายการมาแปลงเป็นรูปแบบของรายการ เราใช้รายการชั่วคราวเพื่อให้บรรลุเป้าหมายนี้ สุดท้ายองค์ประกอบทั้งหมดเหล่านี้ซึ่งถูกแปลงเป็นรายการจะถูกจัดกลุ่มเข้าด้วยกันเพื่อสร้างรายการที่จำเป็น
ตัวอย่าง
listA = ['Mon','Tue','Wed','Thu','Fri'] print("Given list:\n",listA) new_list = [] # Creating list of list format for elem in listA: temp = elem.split(', ') new_list.append((temp)) # Final list res = [] for elem in new_list: temp = [] for e in elem: temp.append(e) res.append(temp) # printing print("The list of lists:\n",res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given list: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] The list of lists: [['Mon'], ['Tue'], ['Wed'], ['Thu'], ['Fri']]
ด้วย ast
นอกจากนี้เรายังสามารถใช้ชื่อโมดูลหลามต้นไม้ไวยากรณ์นามธรรมหรือที่เรียกว่า ast มีฟังก์ชันชื่อ literal_eval ซึ่งจะรวมองค์ประกอบของรายการที่กำหนดและแปลงเป็นรายการใหม่
ตัวอย่าง
import ast listA = ['"Mon","Tue"','"Wed","Thu","Fri"'] print("Given list: \n", listA) res = [list(ast.literal_eval(x)) for x in listA] # New List print("The list of lists:\n",res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given list: ['"Mon","Tue"', '"Wed","Thu","Fri"'] The list of lists: [['Mon', 'Tue'], ['Wed', 'Thu', 'Fri']]