Python中的动态数组2D

时间:2017-05-30 10:54:05

标签: arrays python-3.x numpy

我想从Twitter保存一些数据,我想使用二维数组来保存第一行中的所有主题标签,并使用动态列保存第二行中的所有外部网址。

我实现了这个:

hashtag_extLink = 2 * [[]]

...
...

if field == "hashtag":
    hashtag_extLink[0].append(x)
elif field == "ext_link":
    hashtag_extlink[1].append(y)
else:
    pass

但是,当我使用以下语句打印hashtag_extLink时:

for row in range(len(hashtag_extLink)):
    print("Row %d" % row)
    for col in range(len(hashtag_extLink[row])):
        print(hashtag_extLink[row][col], end='')
    print("")

我明白了:

Row 0
xy
Row 1
xy

这是append()函数为两行添加值。 我该怎么办?我要使用Numpy吗?

提前谢谢。

3 个答案:

答案 0 :(得分:1)

像这样定义一个2D数组:x = 2 * [[]]将相同的列表放在容器列表中的两个位置,就像你的情况一样。

尝试定义像x = [[],[]]

这样的数组
>>> x = [[],[]]
>>> x[0].append(1)
>>> x
[[1], []]

答案 1 :(得分:0)

如果您知道尺寸,

ar = []
for i in range(5):
   ar.append([])
   for j in range(2):
       ar[i].append(1)

答案 2 :(得分:0)

您可以定义动态2D数组并用0个值初始化

def initialize_array(rows, cols): l1 = [[0 for i in range(cols)] for j in range (rows)] print (l1)