Terinspirasi dari beberapa jawaban di atas yang berfungsi dengan paket python dasar saya membandingkan kinerja beberapa (menggunakan Python 3.7.3):
Metode 1: ast
import ast
list(map(str.strip, ast.literal_eval(u'[ "A","B","C" , " D"]')))
# ['A', 'B', 'C', 'D']
import timeit
timeit.timeit(stmt="list(map(str.strip, ast.literal_eval(u'[ \"A\",\"B\",\"C\" , \" D\"]')))", setup='import ast', number=100000)
# 1.292875313000195
Metode 2: json
import json
list(map(str.strip, json.loads(u'[ "A","B","C" , " D"]')))
# ['A', 'B', 'C', 'D']
import timeit
timeit.timeit(stmt="list(map(str.strip, json.loads(u'[ \"A\",\"B\",\"C\" , \" D\"]')))", setup='import json', number=100000)
# 0.27833264000014424
Metode 3: tidak ada impor
list(map(str.strip, u'[ "A","B","C" , " D"]'.strip('][').replace('"', '').split(',')))
# ['A', 'B', 'C', 'D']
import timeit
timeit.timeit(stmt="list(map(str.strip, u'[ \"A\",\"B\",\"C\" , \" D\"]'.strip('][').replace('\"', '').split(',')))", number=100000)
# 0.12935059100027502
Saya kecewa melihat apa yang saya anggap metode dengan keterbacaan terburuk adalah metode dengan kinerja terbaik ... ada pengorbanan untuk dipertimbangkan ketika pergi dengan opsi yang paling mudah dibaca ... untuk jenis beban kerja yang saya gunakan python karena saya biasanya nilai keterbacaan atas opsi yang sedikit lebih banyak performan, tetapi seperti biasa itu tergantung.