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


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

我使用此代码在列表ab之间查找匹配元素,但我想返回列表ba匹配列表b和输出的元素是否应采用系列形式。

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

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中找到,可以使用setissubset()函数。下面是一个示例:

a = [1, 2, 3, 4, 5]
b = [1, 2, 3]
if set(b).issubset(a):
print("b = ", end="")
print(b)

这将打印:

b = [1, 2, 3]

最新更新