如何将字符串列表转换为正确的列表?

时间:2017-07-17 01:40:34

标签: python python-3.x python-3.6

我试图解决这个问题:

  

编写一个程序,它接受两个列表并返回一个列表,其中包含第一个列表的所有元素减去两个列表之间的所有公共元素。

编码部分非常简单。这是:

list1=input()
list2=input()

for i in list1:
  if i in list2:
    list1.remove(i)
  else:
    pass

print(list1)

我在这里遇到的问题是list1list2是字符串。 拿list1=‘[1,2,3,4]’

我需要将list1转换为[1,2,3,4]

我尝试了How to convert list to string中建议的split()join()方法 但我失败了。

如何将'[1,2,3,4]'转换为[1,2,3,4]

3 个答案:

答案 0 :(得分:3)

使用ast模块评估字符串,这是安全的:

import ast
ast.literal_eval('[1, 2, 3, 4]')
=> [1, 2, 3, 4]

答案 1 :(得分:2)

您有两个选项,可以将其加载为json

import json
json.loads('[1,2,3,4]')
# [1, 2, 3, 4]

或者您可以使用ast.literal_eval

评估字符串
from ast import literal_eval    
literal_eval('[1,2,3,4]')
# [1, 2, 3, 4]

答案 2 :(得分:-3)

我会在输入时将它们转换成正确的 在这种情况下,你甚至不需要使用逗号

list1=list(input())
list2=list(input())