如何创建列表列表

问题描述 投票:0回答:5

我的 Python 代码每次循环都会生成一个列表:

list = np.genfromtxt('temp.txt', usecols=3, dtype=[('floatname','float')], skip_header=1)

但是我想保存每一个——我需要一个列表列表吗?

所以我试过:

list[i] = np.genfromtxt('temp.txt', usecols=3, dtype=[('floatname','float')], skip_header=1)

但是 Python 现在告诉我“list”没有定义。我不确定如何定义它。另外,列表的列表和数组一样吗??

谢谢!

python list
5个回答
49
投票

您想创建一个空列表,然后将创建的列表附加到它。这将为您提供列表列表。例子:

>>> l = []
>>> l.append([1,2,3])
>>> l.append([4,5,6])
>>> l
[[1, 2, 3], [4, 5, 6]]

9
投票

在循环之前创建列表,否则它将在每个循环中创建。

>>> list1 = []
>>> for i in range(10) :
...   list1.append( range(i,10) )
...
>>> list1
[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [2, 3, 4, 5, 6, 7, 8, 9], [3, 4, 5, 6, 7, 8, 9], [4, 5, 6, 7, 8, 9], [5, 6, 7, 8, 9], [6, 7, 8, 9], [7, 8, 9], [8, 9], [9]]

8
投票

使用append方法,例如:

lst = []
line = np.genfromtxt('temp.txt', usecols=3, dtype=[('floatname','float')], skip_header=1)
lst.append(line)

3
投票

首先不要使用

list
作为变量名-这是一个内置函数。

我不是很清楚你在问什么(多一点上下文会有所帮助),但也许这会有所帮助-

my_list = []
my_list.append(np.genfromtxt('temp.txt', usecols=3, dtype=[('floatname','float')], skip_header=1))
my_list.append(np.genfromtxt('temp2.txt', usecols=3, dtype=[('floatname','float')], skip_header=1))

这将创建一个名为

my_list
的列表(python 中的一种可变数组),在前 2 个索引中使用
np.getfromtext()
方法的输出。

第一个可以用

my_list[0]
引用,第二个可以用
my_list[1]


1
投票

今天刚遇到同样的问题...

为了创建列表的列表,您首先必须将数据、数组或其他类型的变量存储到列表中。然后,创建一个新的空列表并将您刚刚创建的列表附加到它。最后你应该得到一个列表列表:

list_1=data_1.tolist()
list_2=data_2.tolist()
listoflists = []
listoflists.append(list_1)
listoflists.append(list_2)
© www.soinside.com 2019 - 2024. All rights reserved.