美文网首页
python 扁平化处理嵌套型的序列

python 扁平化处理嵌套型的序列

作者: 孙广宁 | 来源:发表于2022-05-17 23:49 被阅读0次
4.14 如何处理有嵌套型的数据
  • 可以通过 yield from语句来扁平化处理
>>> from collections import Iterable
>>> def f(items,ignore_type=(str,bytes)):
...     for x in items:
...         if isinstance(x,Iterable) and not isinstance(x,ignore_type):
...             yield from f(x)
...         else:
...             yield x
...
>>> items=[1,2,[3,4,[5,6],7],8]
>>> for x in f(items):
...     print(x)
...
1
2
3
4
5
6
7
8
>>>
  • 在上述代码中,isinstance(x,Iterable)简单地检查是否有某个元素可以迭代遍历

  • 如果有那么就用yield from将这个嵌套的对象进行递归。

  • 代码中的ignore_type和not isinstance的检查是为了避免将字符串和字节串解释为可遍历对象

相关文章

  • python 扁平化处理嵌套型的序列

    4.14 如何处理有嵌套型的数据 可以通过 yield from语句来扁平化处理 在上述代码中,isinstanc...

  • python--嵌套序列

    python 嵌套序列 嵌套序列:是由一组等长列表组成的列表。 numpy可以对数据进行类型转换, 统计转成字符型,,

  • Steamroller

    对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。 注意:Array.isArray()是静态方法,必须通过...

  • FCC-Steamroller

    对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。 需要递归,如果当初处理的值是数组则重复调用当前函数,直到...

  • 『JavaScript专题』之数组扁平化

    JavaScript专题之数组扁平化 扁平化 数组的扁平化,就是将一个嵌套多层的数组 array (嵌套可以是任何...

  • FreeCodeCamp筆記之:Steamroller

    题目 对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。如果你被卡住了,记得开大招 Read-Search-...

  • Fcc闯关题算法 --- Steamroller

    题目描述 对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。如果你被卡住了,​ 记得开大招 Read...

  • markdown test

    一级标题 二级标题 三级标题 嵌套列表嵌套列表嵌套列表嵌套列表嵌套列表嵌套列表 无序列表 无序列表 有序列表1 有...

  • js数组扁平化

    扁平化 数组的扁平化,就是将一个嵌套多层的数组 array (嵌套可以是任何层数)转换为只有一层的数组。 递归 e...

  • Python玩转金融时间序列之ARCH与GARCH模型

    01 引言 作为金融时间序列的专题推文,【手把手教你】时间序列之日期处理主要介绍了使用Python处理时间序列的日...

网友评论

      本文标题:python 扁平化处理嵌套型的序列

      本文链接:https://www.haomeiwen.com/subject/iofwyrtx.html