0

这就是目标:编写一个函数来获取 2 个列表 L1 和 L2,并构建并返回由列表 L1 和列表 L2 中的元素组成的第三个列表 L3,即排除仅在 L1 中或仅在 L2 中的任何值。

问题:我陷入了循环(只会采用 alist 和 blist 共享的值)。

我的代码:

alist=input("Enter words separated by space: " ).split(" ")
blist=input("Enter words separated by space: " ).split(" ")
clist=[" "]
for i in alist,blist:
    if alist(i)==blist(i):
        clist=alist(i)+blist(i)
        return clist
4

2 回答 2

2
clist = []
for i in alist:
    if i in blist:
        clist.append(i)

print clist
  1. 您可以使用in运算符检查另一个列表中是否存在一个值。

    例如:

    alist = ["a", "b", "c"]
    print "b" in alist      # will print True
    print "d" in alist      # will print False
    
  2. 您可以使用append列表中的方法添加新项目。
于 2013-10-25T12:49:24.360 回答
2

纯列表理解

>>> alist = ["a", "b", "c"]
>>> blist = ["a", "d", "c"]
>>> [var for var in alist if var in blist]
['a', 'c']

以上是列表理解。文档

于 2013-10-25T12:53:54.457 回答