Python可变长度2d数组

时间:2016-11-03 01:50:58

标签: python arrays

今天是我学习Python的第一天,对二维数组有疑问。我需要创建一个二维数组,但不知道每个数组的大小。是否有类似于Java中的arraylist?这是我的代码,所以你可以看到我的意思。这是去年第3天的代码问世。所以,如果你没有做到这一点并且希望看到我想要设置它的方式,我想你会有一个轻微的扰流。

f=open('directions.txt')
houses = [0][0]
rows = 0
column = 0
total = 0
for line in f:
    for c in line:
         if (str(c) == '^'):
        rows += 1
        houses[rows][column] += 1
    elif (str(c) == '>'):
        column += 1
        houses[rows][column] +=1
    elif (str(c)=='<'):
        column -= 1
        houses[rows][column-=1] +=1
    else:
        rows -= 1
        houses[rows][column] +=1

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我相信你想要这样的东西

houses = dict()
rows = 0
column = 0
total = 0
for line in f:
    for c in line:
        houses.setdefault(rows,dict())
        houses[rows].setdefault(column, 0)
        if (str(c) == '^'):
            houses[rows][column] += 1
            rows += 1
        elif (str(c) == '>'):
            houses[rows][column] +=1
            column += 1
        elif (str(c)=='<'):
            houses[rows][column] +=1
            column -= 1
        else:
            houses[rows][column] +=1
            rows -= 1