code: def flatten_all(nested_iterable):
      
      for item in nested_iterable:
          if hasattr(item, "__iter__") and not isinstance(item, string_types):
              for i in flatten_all(item):
                  yield i
          else:
              yield item
docs: Flatten arbitrary depth of nesting. Good for unknown nesting structure
      iterable object.
  
      Example::
  
          >>> list(flatten_all([[1, 2], "abc", [3, ["x", "y", "z"]], 4]))
          [1, 2, "abc", 3, "x", "y", "z", 4]
  
      **中文文档**
  
      将任意维度的列表压平成一维列表。
  
      注: 使用hasattr(i, "__iter__")方法做是否是可循环对象的判断, 性能要高于其他
      任何方法, 例如: isinstance(i, collections.Iterable)