zoukankan      html  css  js  c++  java
  • python numpy array 的一些问题

    1 将list转换成array

    如果list的嵌套数组是不规整的,如

    a = [[1,2], [3,4,5]]

    则a = numpy.array(a)之后

    a的type是ndarray,但是a中得元素a[i]都还是list

    如果a = [[1,2], [3,4]]

    则a = numpy.array(a)之后

    a的type是ndarray,里面的元素a[i]也是ndarray

    2 flatten函数

    Python自身不带有flatten函数,numpy中array有flatten函数。

    同1的一样,如果a是不规整的,则flatten函数失效

    可以自己写一个函数

    def flat(list_tree):
        res = []
        for i in list_tree:
            if isinstance(i, list):
                res.extend(flat(i))
            elif isinstance(i, np.ndarray):
                res.extend(flat(i.tolist()))
            else:
                res.append(i)
        return res

    3 并行遍历两个数组

    内置的zip函数可以让我们使用for循环来并行使用多个序列。在基本运算中,zip会取得一个或多个序列为参数,然后返回元组的列表,将这些序列中的并排的元素配成对。

    示例一:

    L1 = [1,2,3,4]

    L2 = [5,6,7,8]

    要合并这些列表中的元素,可以使用zip来创建一个元组对的列表。与range一样,zip是一个可迭代对象,因此,必须将其包含在一个list调用中一边一次性显示所有结果。

    zip(L1,L2)

    list(zip(L1,L2)) !注释掉这一行,运行结果依然如次

    for (x,y) in zip(L1,L2):

           print(x,'+',y,'=',x + y)

  • 相关阅读:
    打印机无法打印文件
    .Net com组件操作excel(不建议采用Com组件操作excel)
    Zebra
    Map遍历方式
    PageHelper原理
    MySQL8.0新特性
    算法_插入排序
    贝叶斯定理
    二叉树学习笔记
    Java校验时间段重叠
  • 原文地址:https://www.cnblogs.com/yxzfscg/p/5061864.html
Copyright © 2011-2022 走看看