我的 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”没有定义。我不确定如何定义它。另外,列表的列表和数组一样吗??
谢谢!
您想创建一个空列表,然后将创建的列表附加到它。这将为您提供列表列表。例子:
>>> l = []
>>> l.append([1,2,3])
>>> l.append([4,5,6])
>>> l
[[1, 2, 3], [4, 5, 6]]
在循环之前创建列表,否则它将在每个循环中创建。
>>> 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]]
使用append方法,例如:
lst = []
line = np.genfromtxt('temp.txt', usecols=3, dtype=[('floatname','float')], skip_header=1)
lst.append(line)
首先不要使用
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]
今天刚遇到同样的问题...
为了创建列表的列表,您首先必须将数据、数组或其他类型的变量存储到列表中。然后,创建一个新的空列表并将您刚刚创建的列表附加到它。最后你应该得到一个列表列表:
list_1=data_1.tolist()
list_2=data_2.tolist()
listoflists = []
listoflists.append(list_1)
listoflists.append(list_2)