เนื่องจาก python จัดการกับข้อมูลประเภทต่างๆ เราจะเจอสถานการณ์ที่รายการจะปรากฏในรูปแบบของสตริง ในบทความนี้เราจะมาดูวิธีการแปลงสตริงเป็นรายการ
มีแถบและแยก
ขั้นแรก เราใช้วิธีการสตริปเพื่อเอาวงเล็บเหลี่ยมออก จากนั้นจึงใช้ฟังก์ชันแยก ฟังก์ชัน split ที่มีเครื่องหมายจุลภาคเป็นพารามิเตอร์จะสร้างรายการจากสตริง
ตัวอย่าง
stringA = "[Mon, 2, Tue, 5,]" # Given string print("Given string", stringA) print(type(stringA)) # String to list res = stringA.strip('][').split(', ') # Result and its type print("final list", res) print(type(res))
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given string [Mon, 2, Tue, 5,] final list ['Mon', '2', 'Tue', '5,']
ด้วย json.loads
โมดูล json สามารถแปลงจากสตริงเป็นรายการได้โดยตรง เราเพียงแค่ใช้ฟังก์ชันโดยส่งสตริงเป็นพารามิเตอร์ เราพิจารณาองค์ประกอบที่เป็นตัวเลขได้ที่นี่เท่านั้น
ตัวอย่าง
import json stringA = "[21,42, 15]" # Given string print("Given string", stringA) print(type(stringA)) # String to list res = json.loads(stringA) # Result and its type print("final list", res) print(type(res))
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given string [21,42, 15] final list [21, 42, 15]
ด้วย ast.literal_eval
โมดูล ast ให้ literal_eval แก่เรา ซึ่งสามารถแปลงสตริงเป็นรายการได้โดยตรง เราเพียงแค่ใส่สตริงเป็นพารามิเตอร์ให้กับเมธอด literal_eval เราพิจารณาองค์ประกอบที่เป็นตัวเลขได้ที่นี่เท่านั้น
ตัวอย่าง
import ast stringA = "[21,42, 15]" # Given string print("Given string", stringA) print(type(stringA)) # String to list res = ast.literal_eval(stringA) # Result and its type print("final list", res) print(type(res))
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given string [21,42, 15] final list [21, 42, 15]