Python 3.x 在Python中分配和读取多维数组

Python 3.x 在Python中分配和读取多维数组,python-3.x,Python 3.x,我被难住了 for a in range(0,500): #500 is a highly variable number but using it for example purposes b = findall(r'<(.*?)>', d) # d will return a highly number variable number of matches could be anywhere from 45-10000 c.append([b]) print(c[

我被难住了

for a in range(0,500): #500 is a highly variable number but using it for example purposes
    b = findall(r'<(.*?)>', d) # d will return a highly number variable number of matches could be anywhere from 45-10000
    c.append([b])
print(c[0][1])
把它拿回来,把1,err 0,行的235,err元素234给我

这是一种像我上面所说的情况,通过“b”的次数是可变的,至少现在,直到我准备好整个文件,我只能说最后的“b”将远远超过10000,到我完成所有数据收集时,可能接近100000。存储的元素数量可以而且将根据它们来自的文件高度变化。它们都来自一个csv文件,但我希望不要通过出去处理csv模块来增加任何“复杂性”…因为我以前从未使用过它,这可能会导致更多的问题

我已经尝试了一些类似的东西…不同的变量自然,所以事情会适当地匹配

d = list(zip(*(e.split(',') for e in b)))

所有这些操作都是在每个字母上进行拆分,而不是在逗号上进行拆分。

您的错误来自
c.append([b])
中的方括号。括号创建一个额外的列表,其中包含列表
b
。因此,不是二维数据结构,而是三维数据结构。索引失败,因为
c[0][1]
正试图从中间列表中获取第二个值(其中只有一个项目)


你可以用
c[0][0][1]
取而代之。但实际上,您可能并不希望数据结构中有额外的级别。您可以使用以下命令避免创建它:
c.append(b)

您的错误来自
c.append([b])
中的方括号。括号创建一个额外的列表,其中包含列表
b
。因此,不是二维数据结构,而是三维数据结构。索引失败,因为
c[0][1]
正试图从中间列表中获取第二个值(其中只有一个项目)


你可以用
c[0][0][1]
取而代之。但实际上,您可能并不希望数据结构中有额外的级别。您可以使用以下命令来避免创建它:
c.append(b)

“从'b'开始的所有内容都会进入c[0][0]”—首先,不,它不会。第二,你为什么要附加
[b]
而不是
b
?你赢了。我在其他问题/答案中也看到过这种情况,我在这里提问之前一直在寻找答案。“从‘b’到‘c[0][0’”——首先,不,不是这样。第二,你为什么要附加
[b]
而不是
b
?你赢了。我在其他问题/答案中也看到过这种情况,我在这里提问之前,一直在寻找答案。
d = list(zip(*(e.split(',') for e in b)))