我试图解决这个问题:
编写一个程序,它接受两个列表并返回一个列表,其中包含第一个列表的所有元素减去两个列表之间的所有公共元素。
编码部分非常简单。这是:
list1=input()
list2=input()
for i in list1:
if i in list2:
list1.remove(i)
else:
pass
print(list1)
我在这里遇到的问题是list1
和list2
是字符串。
拿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]
?
答案 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())