精华内容
下载资源
问答
  • 主要介绍了详解Python二维数组与三维数组切片的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • python二维数组

    2019-09-28 00:46:48
    1、python二维数组初始化 s = [[0 for i in range(3)]for i in range(3)] 这样就初始了一个3*3的二维数组 = [[0 for in range(col_numbers)] for i in range(rows_numbers)] 2、 with open('test.tx...

    今天。。好多不会的,慢慢补充

    1、python的二维数组初始化

    s = [[0 for i in range(3)]for i in range(3)]

    这样就初始了一个3*3的二维数组

      = [[0 for in range(col_numbers)] for i in range(rows_numbers)]

     

    2、

    with open('test.txt','rb') as f:
        s = f.readline()
        
    
    
    s的结尾是带着\r\n的
    所以使用
    s.strip('\r\n')
    
    strip参数放置你不想要的string

     3\python hash

     

    keys = ['name','age']
    value = ['jason','2']
    
    hash = {k:v for k:v in zip(kyes,value)}

     

    转载于:https://www.cnblogs.com/-Doraemon/p/4824028.html

    展开全文
  • Python 二维数组

    万次阅读 2012-08-19 17:19:22
    那么,接下来,我们将会通过对Python二维数组的理解来为大家解读这方面的知识。 Python中没有数组的数据结构,但列表很像数组,如: a=[0,1,2]  这时a[0]=0, a[1]=1, a[[2]=2,但引出一个问题,即如果...

    Python数组的应用中在实际编程中是一个非常重要的应用技术,作为Python编程人员来说,必须要熟练的掌握这方面的所有应用技巧。那么,接下来,我们将会通过对Python二维数组的理解来为大家解读这方面的知识。

    Python中没有数组的数据结构,但列表很像数组,如:

    1. a=[0,1,2] 

    这时a[0]=0, a[1]=1, a[[2]=2,但引出一个问题,即如果数组a想定义为0到999怎么办,这时可能通过a = range(0, 1000)实现。或省略为a = range(1000).如果想定义1000长度的a,初始值全为0,则

    1. a = [0 for x in range(0, 1000)] 

    下面是Python二维数组的定义:

    直接定义 a=[[1,1],[1,1]],这里定义了一个2*2的,且初始为0的二维数组。

    间接定义 a=[[0 for x in range(10)] for y in range(10)],这里定义了10*10初始为0的二维数组。

    后来,我在网上找到了更简单的字义二维数组的方法:

    b = [[0]*10]*10,定义10*10初始为0的Python二维数组。

    与a=[[0 for x in range(10)] for y in range(10)]比较:print a==b的结果为True。

    但用b的定义方法代替a后,以前的可以正常运行的程序也出错了,经过仔细分析得出区别:

    a[0][0]=1时,只有a[0][0]为1,其他全为0。

    b[0][0]=1时,a[0][0],a[1][0],只到a[9,0]全部为1。由此得到大数组中的10个小的一维数据全是一个相同的引用,即指向同一地址。故b = [[0]*10]*10并不符合我们常规意义上的二维数组。

    同时经过试验:c=[0]*10的定义与c=[0 for x in range(10)]有同样的效果,而没有上面相同引用的问题,估计数组c的定义时是值类型相乘,而前面b的用类型的相乘,因为一维数组是一个引用(借用C#中的值类型和引用类型,不知是否合适)。

    展开全文
  • python 二维数组

    2018-08-20 16:22:11
    2.创建二维数组的办法 •3.1 直接创建法 •3.2 列表生成式法 •3.3 使用模块numpy创建 1.遇到的问题 今天写Python代码的时候遇到了一个大坑,差点就耽误我交作业了。。。 问题是这样的,我需要创建一个二维...

    0.目录

    1.遇到的问题

    2.创建二维数组的办法

    •3.1 直接创建法

    •3.2 列表生成式法

    •3.3 使用模块numpy创建

    1.遇到的问题

    今天写Python代码的时候遇到了一个大坑,差点就耽误我交作业了。。。

    问题是这样的,我需要创建一个二维数组,如下:

    m = n = 3
    test = [[0] * m] * n
    print("test =", test)
    

    输出结果如下:

    test = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
    
    

    是不是看起来没有一点问题?

    一开始我也是这么觉得的,以为是我其他地方用错了什么函数,结果这么一试:

    m = n = 3
    test = [[0] * m] * n
    print("test =", test)
    
     
    test[0][0] = 233
    print("test =", test)
    
    

    输出结果如下:

    test = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
    test = [[233, 0, 0], [233, 0, 0], [233, 0, 0]]
    
    

    是不是很惊讶?!

    这个问题真的是折磨我一个中午,去网上一搜,官方文档中给出的说明是这样的:

    Note also that the copies are shallow; nested structures are not copied. This often haunts new Python programmers; consider:

    >>> lists = [[]] * 3
    >>> lists
    [[], [], []]
    >>> lists[0].append(3)
    >>> lists
    [[3], [3], [3]]

    What has happened is that [[]] is a one-element list containing an empty list, so all three elements of [[]] * 3 are (pointers to) this single empty list. Modifying any of the elements of lists modifies this single list. You can create a list of different lists this way:

    >>>
    >>> lists = [[] for i in range(3)]
    >>> lists[0].append(3)
    >>> lists[1].append(5)
    >>> lists[2].append(7)
    >>> lists
    [[3], [5], [7]]

    也就是说matrix = [array] * 3操作中,只是创建3个指向array的引用,所以一旦array改变,matrix中3个list也会随之改变。

    2.创建二维数组的办法

    2.1 直接创建法

    test = [0, 0, 0], [0, 0, 0], [0, 0, 0]]
    
    

    简单粗暴,不过太麻烦,一般不用。

    2.2 列表生成式法

    n行m列:

    test = [[0 for i in range(m)] for j in range(n)]
    
    

    学会使用列表生成式,终生受益。不会的可以去列表生成式 - 廖雪峰的官方网站学习。

    2.3 使用模块numpy创建

    import numpy as np
    test = np.zeros((m, n), dtype=np.int)
    
    
    展开全文
  • 文章全来自Python二维数组与三维数组切片详解 1.二维数组 import numpy as np a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [17, 18, 19, 20]]) print(a.shape) print(a[0, :...

    文章全来自Python二维数组与三维数组切片详解

     

    1.二维数组

    import numpy as np
    
    a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [17, 18, 19, 20]])
    print(a.shape)
    print(a[0, :], a[0, :].shape)
    print(a[1, :], a[1, :].shape)
    print(a[-1, :], a[-1, :].shape)
    print(a[0:2, :], a[0:2, :].shape)
    print(a[:, 0], a[:, 0].shape)
    print(a[:, 1], a[:, 1].shape)
    print(a[:, -1], a[:, -1].shape)
    print(a[:, 0:2], a[:, 0:2].shape)

    结果

    (5, 4)
    [1 2 3 4] (4,)
    [5 6 7 8] (4,)
    [17 18 19 20] (4,)
    [[1 2 3 4]
     [5 6 7 8]] (2, 4)
    [ 1  5  9 13 17] (5,)
    [ 2  6 10 14 18] (5,)
    [ 4  8 12 16 20] (5,)
    [[ 1  2]
     [ 5  6]
     [ 9 10]
     [13 14]
     [17 18]] (5, 2)
    

    上例中,a是shape=(5,4)的数组。第0个维度上有5个元素,第1个维度上有4个元素(元素不一定是单个值, 也可能是数组,这里的元素的叫法是相对于某个维度而言的)。

    a[0, :]、a[1, :]、a[-1, :]分别提取了a的第0个维度上的第0、1和-1个元素,每个元素都是一个含有4个元素的数组。
    a[0:2, :]提取了a的第0个维度上的第0和1两个元素,两个元素都是一个含有4个元素的数组,共同组成一个二维数组。
    a[:, 0]、a[:, 1]、a[:, -1]分别提取了a的第1个维度上的0、1和-1个元素,每个元素都是单个元素值。
    a[:, 0:2]提取了a的第1个维度上的第0和1两个元素,两个元素都是单个元素值,共同组成一个二维数组。

     2.三维数组

    import numpy as np
    
    b = np.array([[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]],
                  [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]],
                  [[25, 26, 27, 28], [29, 30, 31, 32], [33, 34, 35, 36]],
                  ])
    
    print(b.shape)
    print("b[0, ::],b[1, ::],b[-1, ::],b[0:2, ::]")
    print(b[0, ::], b[0, ::].shape)
    print(b[1, ::], b[1, ::].shape)
    print(b[-1, ::], b[-1, ::].shape)
    print(b[0:2, ::], b[0:2, ::].shape)
    print("b[:, 0:],b[:, 1:],b[:, -1:],b[:, 0:2:]")
    print(b[:, 0:], b[:, 0:].shape)
    print(b[:, 1:], b[:, 1:].shape)
    print(b[:, -1:], b[:, -1:].shape)
    print(b[:, 0:2:], b[:, 0:2:].shape)
    print("b[::, 0],b[::, 1],b[::, -1],b[::, 0:2:]")
    print(b[::, 0], b[::, 0].shape)
    print(b[::, 1], b[::, 1].shape)
    print(b[::, -1], b[::, -1].shape)
    print(b[::, 0:2:], b[::, 0:2].shape)
    print("b[:,:, 0],b[:,:, 1],b[:,:, -1],b[:,:, 0:2:]")
    print(b[:, :, 0], b[:, :, 0].shape)
    print(b[:, :, 1], b[:, :, 1].shape)
    print(b[:, :, -1], b[:, :, -1].shape)
    print(b[:, :, 0:2:], b[:, :, 0:2].shape)

    结果

    (3, 3, 4)
    b[0, ::],b[1, ::],b[-1, ::],b[0:2, ::]
    [[ 1  2  3  4]
     [ 5  6  7  8]
     [ 9 10 11 12]] (3, 4)
    [[13 14 15 16]
     [17 18 19 20]
     [21 22 23 24]] (3, 4)
    [[25 26 27 28]
     [29 30 31 32]
     [33 34 35 36]] (3, 4)
    [[[ 1  2  3  4]
      [ 5  6  7  8]
      [ 9 10 11 12]]
    
     [[13 14 15 16]
      [17 18 19 20]
      [21 22 23 24]]] (2, 3, 4)
    b[:, 0:],b[:, 1:],b[:, -1:],b[:, 0:2:]
    [[[ 1  2  3  4]
      [ 5  6  7  8]
      [ 9 10 11 12]]
    
     [[13 14 15 16]
      [17 18 19 20]
      [21 22 23 24]]
    
     [[25 26 27 28]
      [29 30 31 32]
      [33 34 35 36]]] (3, 3, 4)
    [[[ 5  6  7  8]
      [ 9 10 11 12]]
    
     [[17 18 19 20]
      [21 22 23 24]]
    
     [[29 30 31 32]
      [33 34 35 36]]] (3, 2, 4)
    [[[ 9 10 11 12]]
    
     [[21 22 23 24]]
    
     [[33 34 35 36]]] (3, 1, 4)
    [[[ 1  2  3  4]
      [ 5  6  7  8]]
    
     [[13 14 15 16]
      [17 18 19 20]]
    
     [[25 26 27 28]
      [29 30 31 32]]] (3, 2, 4)
    b[::, 0],b[::, 1],b[::, -1],b[::, 0:2:]
    [[ 1  2  3  4]
     [13 14 15 16]
     [25 26 27 28]] (3, 4)
    [[ 5  6  7  8]
     [17 18 19 20]
     [29 30 31 32]] (3, 4)
    [[ 9 10 11 12]
     [21 22 23 24]
     [33 34 35 36]] (3, 4)
    [[[ 1  2  3  4]
      [ 5  6  7  8]]
    
     [[13 14 15 16]
      [17 18 19 20]]
    
     [[25 26 27 28]
      [29 30 31 32]]] (3, 2, 4)
    b[:,:, 0],b[:,:, 1],b[:,:, -1],b[:,:, 0:2:]
    [[ 1  5  9]
     [13 17 21]
     [25 29 33]] (3, 3)
    [[ 2  6 10]
     [14 18 22]
     [26 30 34]] (3, 3)
    [[ 4  8 12]
     [16 20 24]
     [28 32 36]] (3, 3)
    [[[ 1  2]
      [ 5  6]
      [ 9 10]]
    
     [[13 14]
      [17 18]
      [21 22]]
    
     [[25 26]
      [29 30]
      [33 34]]] (3, 3, 2)

    上例中,b是shape=(3,3,4)的数组。第0个维度上有3个元素,第1个维度上有3个元素,第2个维度上有4个元素(元素不一定是单个值, 也可能是数组,这里的元素的叫法是相对于某个维度而言的)。

    b[0, ::]、b[1, ::]、b[-1, ::]分别提取了b的第0个维度上的第0、1和-1个元素,每个元素都是一个二维数组。
    b[0:2, ::]提取了b的第0个维度上的第0和1两个元素,两个元素都是一个二维数组,共同组成一个三维数组。
    b[:, 0:]、b[:, 1:]、b[:, -1:]分别提取了b的全部元素(都是由4个元素的单个数组)、b的第1个维度上除第0号外的所有元素(都是由4个元素的单个数组)、b的第1个维度上的所有最后一个位置上的元素(都是由4个元素的单个数组)。
    b[:, 0:2:]提取了b的第1个维度上的第0和1两个元素,两个元素都是一个有4个元素的数组,共同组成一个三维数组。
    b[::, 0]、b[::, 1]、b[::, -1]分别提取了b的第2个维度上的0、1和-1个元素(这里的元素就是单个有4个元素的数组),每个元素都是有4个元素的数组。
    b[::, 0:2]提取了b的第2个维度上的第0和1两个元素(这里的元素就是单个有4个元素的数组),两个元素都是有4个元素的数组。
    b[:,:, 0]、b[:,:, 1]、b[:,:, -1]分别提取了b的第2个维度的所有元素(即有4个元素的数组)中的第0、1和-1个元素值,每个元素都是单个元素值。
    b[:,:, 0:2]提取了b的第2个维度的所有元素(即有4个元素的数组)中的第0和1两个元素值,两个元素都是单个元素值。

    展开全文
  • 今天小编就为大家分享一篇解决Python二维数组赋值问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 二维数组排序python二维数组自定义排序基础二维数组排序二维数组自定义排序 python二维数组自定义排序 基础二维数组排序 y = sorted(x, key = lambda x:(x[0],-x[1])) # 按照一维升序,二维降序 输入:[(264.0, 8, 0...
  • Python二维数组创建

    万次阅读 多人点赞 2018-07-12 01:22:25
    Python二维数组创建 创建方法: 1. 直接创建 2. 列表生成 3. numpy创建 遇到的问题: a = [[]]*3 a[0].append(1) a[1].append(2) a[2].append(3) print(a) 输出为: [[1, 2, 3], [1, 2, 3], [1, 2, 3]...
  • 今天小编就为大家分享一篇python 二维数组90度旋转的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 创建一个方便正确的Python二维数组
  • 下面小编就为大家分享一篇基于python 二维数组及画图的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 目录Python二维数组操作的小Tips前言二维数组的创建求二维数组最大/小值二维数组求和参考文献 Python二维数组操作的小Tips 前言 众所周知,利用MATLAB对矩阵,数组进行操作以及数值计算是非常方便的。然而,随着...
  • Python二维数组与三维数组切片详解

    万次阅读 多人点赞 2019-02-28 10:53:06
    如果对象是二维数组,则切片应当是x[:]的形式,里面有一个冒号,冒号之前和之后分别表示对象的第0个维度和第1个维度; 如果对象是三维数组,则切片应当是x[::],里面有两个冒号,分割出三个间隔,三个间隔的前、...
  • Python二维数组操作

    2018-08-21 16:42:00
    Python二维数组操作 转载于:https://www.cnblogs.com/panlei3707/p/9512258.html
  • python二维数组切片举例 案例数据 data[] 为下面的二维数组 [1, 2, 3] [4, 5, 6] [7, 8, 9] 说明: 逗号”,”分隔各个维度,“:”表示各个维度内的切片,只有“:”表示取这个维度的全部值 若没有逗号,则默认是对...
  • python 二维数组转一维数组

    万次阅读 2019-09-25 14:54:24
    import operator from functools import reduce a = [[1,2,3], [4,6], [7,8,9,8]] print(reduce(operator.add, a)) >>> [1, 2, 3, 4, 6, 7, 8, 9, 8]
  • python二维数组的创建和操作

    千次阅读 2019-04-01 15:50:06
    python 二维数组的创建 实际上python中的二维数组,主要指的是二维列表 因为python中并没有数组这种数据结构 创建方法:标准方法 lists =[ [] for i in range(3)] 直接创建: list=[[0,0,0], [0,0,0],[0,0,0]]...
  • python 二维数组的查找

    千次阅读 2017-10-30 20:46:43
    python 二维数组的查找# -*- coding: utf-8 -*- class ArrayHandle: def search(self,array,target): ####array为二维数组 for index in range(len(array)): if target in array[index]:
  • python 二维数组读入

    千次阅读 2018-11-09 11:05:00
    study from : https://www.cnblogs.com/reaptomorrow-flydream/p/9613847.html python 二维数组键盘输入1 m = int(input())2 grid = [[] for i in range(m)]3 for i in range(m):4 line = input().split(' ')5 f...
  • 二维数组转为一维数组 已知a = [[4, 0, 1], [9, 2, 7], [8, 12, 90]] 列表推导式 [i for j in a for i in j] itertools from itertools import chain list(chain.from_iterable(a)) sum小技巧 sum(a, []) ...
  • 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否有该整数。 方法一: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,731
精华内容 1,892
关键字:

python二维数组

python 订阅