Two dimensional array in python

后端 未结 10 941
旧巷少年郎
旧巷少年郎 2020-12-02 07:49

I want to know how to declare a two dimensional array in Python.

arr = [[]]

arr[0].append(\"aa1\")
arr[0].append(\"aa2\")
arr[1].append(\"bb1\")
arr[1].appe         


        
相关标签:
10条回答
  • 2020-12-02 08:24

    There aren't multidimensional arrays as such in Python, what you have is a list containing other lists.

    >>> arr = [[]]
    >>> len(arr)
    1
    

    What you have done is declare a list containing a single list. So arr[0] contains a list but arr[1] is not defined.

    You can define a list containing two lists as follows:

    arr = [[],[]]
    

    Or to define a longer list you could use:

    >>> arr = [[] for _ in range(5)]
    >>> arr
    [[], [], [], [], []]
    

    What you shouldn't do is this:

    arr = [[]] * 3
    

    As this puts the same list in all three places in the container list:

    >>> arr[0].append('test')
    >>> arr
    [['test'], ['test'], ['test']]
    
    0 讨论(0)
  • 2020-12-02 08:31

    For compititve programming

    1) For input the value in an 2D-Array

    row=input()
    main_list=[]
    for i in range(0,row):
        temp_list=map(int,raw_input().split(" "))
        main_list.append(temp_list)
    

    2) For displaying 2D Array

    for i in range(0,row):
        for j in range(0,len(main_list[0]):
            print main_list[i][j],
            print
    
    0 讨论(0)
  • 2020-12-02 08:34

    You do not "declare" arrays or anything else in python. You simply assign to a (new) variable. If you want a multidimensional array, simply add a new array as an array element.

    arr = []
    arr.append([])
    arr[0].append('aa1')
    arr[0].append('aa2')
    

    or

    arr = []
    arr.append(['aa1', 'aa2'])
    
    0 讨论(0)
  • 2020-12-02 08:35

    You try to append to second element in array, but it does not exist. Create it.

    arr = [[]]
    
    arr[0].append("aa1")
    arr[0].append("aa2")
    arr.append([])
    arr[1].append("bb1")
    arr[1].append("bb2")
    arr[1].append("bb3")
    
    0 讨论(0)
  • 2020-12-02 08:35
    x=3#rows
    y=3#columns
    a=[]#create an empty list first
    for i in range(x):
        a.append([0]*y)#And again append empty lists to original list
        for j in range(y):
             a[i][j]=input("Enter the value")
    
    0 讨论(0)
  • 2020-12-02 08:38

    You can first append elements to the initialized array and then for convenience, you can convert it into a numpy array.

    import numpy as np
    a = [] # declare null array
    a.append(['aa1']) # append elements
    a.append(['aa2'])
    a.append(['aa3'])
    print(a)
    a_np = np.asarray(a) # convert to numpy array
    print(a_np)
    
    0 讨论(0)
提交回复
热议问题