python从列表中删除不在其他列表中的元素

时间:2017-07-23 17:29:08

标签: python python-3.x

我正在尝试制作一个程序,从列表x中删除列表a以外的所有内容。但它只从列表a中删除偶数。这是我的代码:

n = int(input())
a = []
for i in range(1, n + 1):
  a.append(str(i))
x = [s for s in input().split()]
for o in a:
  if o not in x:
    a.remove(o)
print(a)

1 个答案:

答案 0 :(得分:3)

正确的做法是:

a = [o for o in a if o in x]

附注:x = [s for s in input().split()]是多余的,它与:

相同
x = input().split()