【问题标题】:How many times specific list is found in a list of lists在列表列表中找到特定列表的次数
【发布时间】: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 内部可以有

  1. a完全相同的列表
  2. a 具有相同项目但顺序不同的列表
  3. 类似于 1 和 2 但比 a 更多的项目
  4. 类似于 1 和 2,但比 a
  5. 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


    【解决方案1】:

    为了解决这个问题,我将this approach 与 for 循环结合以获取值,如

    count_matches = 0
    for value in b:
        if set(a) <= set(value):
            count_matches += 1
            print("a is in b")  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-23
      • 1970-01-01
      • 2018-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多