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

แปลงรายการสตริงเป็นรายการของรายการใน Python

ในบทความนี้เราจะมาดูวิธีการสร้างรายการของรายการ (list of lists) ที่มีข้อมูลประเภทสตริง โดยรายการภายในจะเป็นประเภทสตริงเช่นกันและอาจมีตัวเลขหรือสตริงเป็นองค์ประกอบ

ใช้เมธอด strip และ split

เราใช้เมธอดทั้งสองนี้ซึ่งจะแยกรายการออกก่อน แล้วจึงแปลงแต่ละองค์ประกอบของรายการให้เป็นสตริง

ตัวอย่าง

list1 = [ '[0, 1, 2, 3]', '["Mon", "Tue", "Wed", "Thu"]' ]
print("The given list is : \n" + str(list1))
print("\n")
# ใช้ strip() + split()
result = [k.strip("[]").split(", ") for k in list1]
print("Converting list of string to list of list : \n" + str(result))

ผลลัพธ์

การรันโค้ดข้างต้นจะได้ผลดังนี้ −

The given list is : ['[0, 1, 2, 3]', '["Mon", "Tue", "Wed", "Thu"]']
Converting list of string to list of list : [['0', '1', '2', '3'], ['"Mon"', '"Tue"', '"Wed"', '"Thu"']]

ใช้การตัดสไลด์และ split

ในวิธีนี้เราจะใช้การตัดสตริง (string slicing) แล้วจึงแยกสตริงเพื่อให้ได้รายการของรายการ โดยฟังก์ชัน split จะถูกนำไปใช้ร่วมกับลูป for

ตัวอย่าง

list1 = [ '[0, 1, 2, 3]', '["Mon", "Tue", "Wed", "Thu"]' ]
print("The given list is : \n" + str(list1))
print("\n")
# ใช้ split()
result = [i[1:-1].split(', ') for i in list1]
print("Converting list of string to list of list : \n" + str(result))

ผลลัพธ์

การรันโค้ดข้างต้นจะได้ผลดังนี้ −

The given list is : ['[0, 1, 2, 3]', '["Mon", "Tue", "Wed", "Thu"]']
Converting list of string to list of list : [['0', '1', '2', '3'], ['"Mon"', '"Tue"', '"Wed"', '"Thu"']]