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

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


เนื่องจาก 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]