比较两个列表之间的元素并按顺序打印

时间:2018-08-10 07:05:11

标签: python list pandas numpy series

>>> a = [1, 2, 3, 4, 5]
>>> b = [9, 8, 3, 6, 5]
>>> set(a) & set(b)
{3,5}

我正在使用此代码在列表ab之间找到匹配的元素,但是如果b的元素与列表{相匹配,我想返回列表a {1}},输出应为系列形式。

1 个答案:

答案 0 :(得分:0)

根据对所需输出的描述,可以执行以下操作:

a = [1, 2, 3, 4, 5]
b = [9, 8, 3, 6, 5]
b = list(set(a) & set(b))

print("%s%9s" % ('a', 'b'))
print("-" * 10)
for i in a:
    print("%i%4s" % (i,"|"), end="")
    if i in b:
        print("%5i" % (i), end="")
    print()

输出:

a        b
----------
1   |
2   |
3   |    3
4   |
5   |    5

修改

如果要检查是否在列表b中找到列表a的所有元素,则可以使用issubset()的{​​{1}}函数。以下是一个示例:

set

这将打印:

a = [1, 2, 3, 4, 5]
b = [1, 2, 3]

if set(b).issubset(a):
    print("b = ", end="")
    print(b)