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

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


บางครั้งเราอาจได้รับข้อมูลที่มีสตริง แต่โครงสร้างของข้อมูลภายในสตรีมเป็นรายการ Python ในบทความนี้ เราจะแปลง string enclosed list เป็น Python list จริง ๆ ซึ่งสามารถนำมาใช้เพิ่มเติมในการจัดการข้อมูลได้

มีการประเมิน

เราทราบดีว่าฟังก์ชัน eval จะให้ผลลัพธ์ที่แท้จริงแก่เราซึ่งเป็นพารามิเตอร์ ดังนั้นเราจึงระบุสตริงที่กำหนดให้กับฟังก์ชัน eval และรับรายการ Python กลับคืนมา

ตัวอย่าง

stringA ="['Mon', 2,'Tue', 4, 'Wed',3]"# Given stringprint("Given string :\n",stringA)# พิมพ์ checkprint(type(stringA))# ใช้ evalres =eval(stringA)# Resultprint("รายการที่ถูกแปลง:\n",res)# พิมพ์ checkprint(type(res))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

สตริงที่กำหนด :['Mon', 2,'Tue', 4, 'Wed',3]รายการที่ถูกแปลง :['Mon', 2, 'Tue', 4, 'Wed', 3] 

ด้วย ast.literal_eval

ในแนวทางนี้ เราใช้ค่าประมาณและใช้ฟังก์ชัน literal_eval โดยกำหนดให้สตริงเป็นพารามิเตอร์ มันให้รายการ Python กลับมา

ตัวอย่าง

import aststringA ="['Mon', 2,'Tue', 4, 'Wed',3]"# Given stringprint("Given string :\n",stringA)# Type checkprint(type(stringA)) นำเข้า # ใช้ literal_evalres =ast.literal_eval(stringA)# Resultprint("The convert list :\n",res)# Type checkprint(type(res))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

สตริงที่กำหนด :['Mon', 2,'Tue', 4, 'Wed',3]รายการที่ถูกแปลง :['Mon', 2, 'Tue', 4, 'Wed', 3] 

ด้วย json.loads

โมดูลการฉีดฟังก์ชันโหลดสามารถทำการแปลงที่คล้ายกันโดยที่สตริงถูกประเมินและสร้างรายการ Python จริง

ตัวอย่าง

import jsonstringA ='["Mon", 2,"Tue", 4, "Wed",3]'# Given stringprint("Given string :\n",stringA)# Type checkprint(type(stringA)) นำเข้า # ใช้ loadsres =json.loads(stringA)# Resultprint("รายการที่ถูกแปลง:\n",res)# พิมพ์ checkprint(type(res))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

สตริงที่กำหนด :["จันทร์", 2,"อังคาร", 4, "พุธ",3]รายการที่แปลงแล้ว :['จันทร์', 2, 'อังคาร', 4, 'พุธ', 3]