如何检查元素是否在嵌套列表中?

 mbe5757086 发布于 2023-02-13 18:12
  • php
  • 如何检查元素是否在嵌套列表中?

    我试图定义一个函数nested(x, ys),测试一个值是否x出现在嵌套的整数列表中ys.结果必须具有价值TrueFalse.

    1 个回答
    • 循环遍历嵌套列表并测试它们; 该any()功能使这个效率:

      def nested(x, ys):
          return any(x in nested for nested in ys)
      

      此假设ys仅嵌套到一个级别.

      如果需要递归,您可以使用:

      def flatten(lst):
          for elem in lst:
              if isinstance(elem, (list, tuple)):
                  for nested in flatten(elem):
                      yield nested
              else:
                  yield elem
      
      def nested(x, ys):
          return any(x == nested for nested in flatten(ys))
      

      我使用了简化测试,list并且tuple只是为了避免"扁平化"字符串.

      2023-02-13 18:15 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有