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

แปลงสตริงที่เป็นการแทนลิสต์ให้กลายเป็นลิสต์จริงใน Python

บางครั้งลิสต์ปรากฏในรูปสตริง ต้องการแปลงกลับเป็นลิสต์จริง

ใช้ strip และ split

strip('[]') ลบวงเล็บ แล้ว split(', ') แยกสมาชิก

ตัวอย่าง

stringA = "[Mon, 2, Tue, 5,]"
print("Given string", stringA)
print(type(stringA))
res = stringA.strip('[]').split(', ')
print("final list", res)
print(type(res))

ผลลัพธ์

Given string [Mon, 2, Tue, 5,]
final list ['Mon', '2', 'Tue', '5,']

ใช้ json.loads()

json.loads() แปลงสตริง JSON array เป็นลิสต์ (เฉพาะตัวเลข)

ตัวอย่าง

import json
stringA = "[21,42, 15]"
print("Given string", stringA)
print(type(stringA))
res = json.loads(stringA)
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]"
print("Given string", stringA)
print(type(stringA))
res = ast.literal_eval(stringA)
print("final list", res)
print(type(res))

ผลลัพธ์

Given string [21,42, 15]
final list [21, 42, 15]