-2

I have a Python string (str), which is "['Fish & Chips', 'Fast Food', 'Restaurants']".

How can I convert this string to a list?

Brad Solomon
  • 38,521
  • 31
  • 149
  • 235
Jachin
  • 1
  • 2

2 Answers2

1

Edit: See snakecharmerb's for a safer alternative to eval().


It seems like you're looking for eval(), which takes a string and evaluates it as a Python expression:

s = "['Fish & Chips', 'Fast Food', 'Restaurants']"

eval(s)
# ['Fish & Chips', 'Fast Food', 'Restaurants']

type(eval(s))
# list
Brad Solomon
  • 38,521
  • 31
  • 149
  • 235
1

While eval works it's safer to use ast.literal_eval if the input data is not trusted:

>>> import ast
>>> s = "['Fish & Chips', 'Fast Food', 'Restaurants']"
>>> ast.literal_eval(s)
['Fish & Chips', 'Fast Food', 'Restaurants']
snakecharmerb
  • 47,570
  • 11
  • 100
  • 153