【发布时间】:2021-02-02 09:54:12
【问题描述】:
我有以下列表
a = ['Bananas', 'Ananas', 'Peach', 'Grapes', 'Oranges']
以及以下列表列表
b = [['Bananas', 'Ananas', 'Peach', 'Grapes', 'Oranges'], ['Bananas', 'Ananas', 'Peach', 'Grapes', 'Oranges', 'Pear', 'Apple'], ['Oranges', 'Strawberry', 'Pear'], ... ]
如您所见,在 b 内部可以有
- 与a完全相同的列表
- 与 a 具有相同项目但顺序不同的列表
- 类似于 1 和 2 但比 a 更多的项目
- 类似于 1 和 2,但比 a 少
- 与 a 完全不同的列表
考虑到使用
for value in b:
print(value)
一个人能够得到每个 b 列表,然后可以将其与 a 进行比较,如何知道案例 1、2 和 3 发生了多少次(包括重复)?
受到this answer的启发,我进行了实验
count_matches = 0
for value in b:
ff = str(value).strip("[]")
gg = str(a).strip("[]")
if gg in ff:
count_matches += 1
print(count_matches)
但由于订单原因,这不起作用(例如,其他项目可能已添加到中间)。
【问题讨论】:
标签: python python-3.x list list-comparison