• Home
  • Subscribe
  • Contribute Us
    • Share Your Interview Experience
  • Contact Us
  • About
    • About CSEstack
    • Campus Ambassador
  • Forum & Discus
  • Tools for Geek
  • LeaderBoard
CSEstack

What do you want to Learn Today?

  • Programming
    • Tutorial- C/C++
    • Tutorial- Django
    • Tutorial- Git
    • Tutorial- HTML & CSS
    • Tutorial- Java
    • Tutorial- MySQL
    • Tutorial- Python
    • Competitive Coding Challenges
  • CSE Subject
    • (CD) Compiler Design
    • (CN) Computer Network
    • (COA) Computer Organization & Architecture
    • (DBMS) Database Management System
    • (DS) Data Structure
    • (OS) Operating System
    • (ToA) Theory of Automata
    • (WT) Web Technology
  • Interview Questions
    • Interview Questions- Company Wise
    • Interview Questions- Coding Round
    • Interview Questions- Python
    • Interview Questions- REST API
    • Interview Questions- Web Scraping
    • Interview Questions- HR Round
    • Aptitude Preparation Guide
  • GATE 2022
  • Linux
  • Trend
    • Full Stack Development
    • Artificial Intelligence (AI)
    • BigData
    • Cloud Computing
    • Machine Learning (ML)
  • Write for Us
    • Submit Article
    • Submit Source Code or Program
    • Share Your Interview Experience
  • Tools
    • IDE
    • CV Builder
    • Other Tools …
  • Jobs

How to Convert String Representation of List to List in Python?

Aniruddha Chaudhari/1113/0
Python

Many times in the project, the list is stored in the form of a string.

One of the use cases was when I was working on a Django project, I had to save the list of selected multiple-choice options as a string. And then I have to convert it back to the Python list for performing certain operations.

I explored multiple ways of accomplishing this requirement. After doing all these experiments, I think sharing it here will help you.

Convert String Representation of List to List in Python

Let’s see the various methods to convert the string representation of the list to list in Python.

1. Using split()

The method split() is a very know Python string method that converts the string into the list.

This is a manual method of converting the string representation of string to the list.

sample_str = "[34, 54, 3]"

# print sample string
print ("initial string", sample_str)
print (type(sample_str))

# convert string to Python list
out_list = sample_str[1:-1].split(', ')

# print list as output
print ("final list", out_list)
print (type(out_list))

Output:

initial string [34, 54, 3]
<class 'str'>
final list [34, 54, 3]
<class 'list'>

Drawbacks:

  • You have to be very cautious about the spaces. If the spoace ius missing between two item in the list, this method wioll not work as expected.
  • If there are strings in the list, it adds extra quote for the strings.

Now we will see the other two methods to convert a string into a list without using the split() method.

2. Using json

The json library comes pre-installed with Python. You don’t need to install it explicitly. Just import it and use it.

import json

sample_str = "[34, 54, 3]"

# print sample string
print ("initial string", sample_str)
print (type(sample_str))
  
# convert string to Python list
out_list = json.loads(sample_str)
  
# print list as output
print ("final list", out_list)
print (type(out_list))

Output:

initial string [34, 54, 3]
<class 'str'>
final list [34, 54, 3]
<class 'list'>

Drawbacks:

If there string representation of the list contains another string, it prompts an error.

3. Using ast

Like json library, ast library also comes preinstalled with Python. You don’t need to install it explicitly. Just import it and use it.

This is the standard method to convert the string representation of a list to a Python list. And this also works for the list which a string inside.

import ast

sample_str = "[34, 54, 3, 'cse', 'code']"

# print sample string
print ("initial string", sample_str)
print (type(sample_str))
  
# convert string to Python list
out_list = ast.literal_eval(sample_str)
  
# print list as output
print ("final list", out_list)
print (type(out_list))

Output:

initial string [34, 54, 3, 'cse', 'code']
<class 'str'>
final list [34, 54, 3, 'cse', 'code']
<class 'list'>

Once you get the list, you can perform various operations on the Python list.

Verdict and Conclusion

Using the split method is not the standard solution. It is a workaround. Other two methods (json.load() and ast.literal_eval()) are standard. If there is any possibility where string dispensation of the list also contains the string, you can not use json.load().

Using ast.literal_eval() solves all your problems. Go with it. Any query? Let me know in the comment below.

Python Interview Questions eBook

Pythonpython listpython string
Aniruddha Chaudhari
I am complete Python Nut, love Linux and vim as an editor. I hold a Master of Computer Science from NIT Trichy. I dabble in C/C++, Java too. I keep sharing my coding knowledge and my own experience on CSEstack.org portal.

Your name can also be listed here. Got a tip? Submit it here to become an CSEstack author.

Leave a Reply Cancel reply

Basic Python Tutorial

  1. Python- Tutorial Overview
  2. Python- Applications
  3. Python- Setup on Linux
  4. Python- Setup on Windows
  5. Python- Basic Syntax
  6. Python- Variable Declaration
  7. Python- Numeric Data Types
  8. Python- NoneType
  9. Python- if-else/elif
  10. Python- for/while else
  11. Python- User Input
  12. Python- Multiline User Input
  13. Python- String Formatting
  14. Python- Find Substring in String
  15. Python- Bitwise Operators
  16. Python- Range Function
  17. Python- List
  18. Python- List Vs Tuple
  19. Python- Compare Two Lists
  20. Python- Sorting List
  21. Python- Delete Element from List
  22. Python- Dictionary
  23. Python- ‘is’ vs ‘==’
  24. Python- Mutable vs Immutable
  25. Python- Generator & Yield
  26. Python- Fibonacci Generator
  27. Python- Assert Statement
  28. Python- Exception Handling 
  29. Python- RegEx
  30. Python- Lambda Function
  31. Python- Installing Modules
  32. Python- Important Modules
  33. Python- Find all Installed Modules
  34. PyCharm- IDE setup
  35. Python- File Handling
  36. Python- Monkey Patching
  37. Python- Decorators
  38. Python- Instance vs Static vs Class Method
  39. Python- Name Mangling
  40. Python- Working with GUI
  41. Python- Read Data from Web URL
  42. Python- Memory Management
  43. Python- Virtual Environment
  44. Python- Calling C Function

Python Exercise

  1. Python- Tricky Questions
  2. Python- Interview Questions (60+)
  3. Python- Project Ideas (45+)
  4. Python- MCQ Test Online
  5. Python- Coding Questions (50+)
  6. Python- Competitive Coding Questions (20+)

Python String

  1. Reverse the String
  2. Permutations of String
  3. Padding Zeros to String/Number

Python List

  1. Randomly Select Item from List
  2. Find Unique Elements from List
  3. Are all Elements in List Same?

Python Dictionary

  1. Set Default Value in Dictionary
  2. Remove all 0 from a dictionary

File Handling

  1. Python- Read CSV File into List
  2. Check if the File Exist in Python
  3. Find Longest Line from File

Compilation & Byte Code

  1. Multiple Py Versions on System
  2. Convert .py file .pyc file
  3. Disassemble Python Bytecode

Algorithms

  1. Sorting- Selection Sort
  2. Sorting- Quick Sort

Other Python Articles

  1. Clear Py Interpreter Console
  2. Can I build Mobile App in Python?
  3. Extract all the Emails from File
  4. Python Shell Scripting

© 2022 – CSEstack.org. All Rights Reserved.

  • Home
  • Subscribe
  • Contribute Us
    • Share Your Interview Experience
  • Contact Us
  • About
    • About CSEstack
    • Campus Ambassador
  • Forum & Discus
  • Tools for Geek
  • LeaderBoard