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

2024-04-19 14:56:03 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我使用这段代码来查找列表ab之间的匹配元素,但是如果a的元素与列表b匹配,并且输出应该是串行的,我想返回list b。你知道吗


Tags: 代码元素列表listset
1条回答
网友
1楼 · 发布于 2024-04-19 14:56:03

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

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

编辑

如果要检查list b的所有元素是否都在list 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]

相关问题 更多 >