首页 > 解决方案 > 如何检查列表列表是否包含另一个列表中的任何元素

问题描述

我正在尝试制作一个样本彩票检查器。我正在使用python。

    x = [1,2,3,4,5,
    
    y = [[1,2,3,4,5,6] # 6 numbers hit
       ,[1,2,3,4,6,7] # 5 numbers hit
       ,[2,3,4,6,7,8] # 4 numbers hit
       ,[4,5,6,7,8,9] # 3 numbers hit
       ,[1,2,7,8,9,10] # 2 numbers hit
       ,[4,7,8,9,10,11] # 1 number hit
       ,[7,8,9,10,11,12]]

输出:(包括命中数)


        [1,2,3,4,5,6]  6 number hit
        [1,2,3,4,6,7]  5 numbers hit
        [2,3,4,6,7,8]  4 numbers hit
        [4,5,6,7,8,9]  3 numbers hit
        [1,2,7,8,9,10]  2 numbers hit
        [4,7,8,9,10,11]  1 number hit

我尝试使用该any()函数,但只返回 true 或 false。请帮忙。

标签: nested-lists

解决方案


数据:


  x = [1,2,3,4,5,6]
      
  y = [[1,2,3,4,5,6] # 6 numbers hit
      ,[1,2,3,4,6,7] # 5 numbers hit
      ,[2,3,4,6,7,8] # 4 numbers hit
      ,[4,5,6,7,8,9] # 3 numbers hit
      ,[1,2,7,8,9,10] # 2 numbers hit
      ,[4,7,8,9,10,11] # 1 number hit
      ,[7,8,9,10,11,12]]   

代码:


  for ticket in y:
    print(ticket)
    count = 0
    for item in x:
      if item in ticket:
        count += 1
    print(count, " numbers hit!")

 

输出:

[1, 2, 3, 4, 5, 6]
6  numbers hit!
[1, 2, 3, 4, 6, 7]
5  numbers hit!
[2, 3, 4, 6, 7, 8]
4  numbers hit!
[4, 5, 6, 7, 8, 9]
3  numbers hit!
[1, 2, 7, 8, 9, 10]
2  numbers hit!
[4, 7, 8, 9, 10, 11]
1  numbers hit!
[7, 8, 9, 10, 11, 12]
0  numbers hit!

推荐阅读