我想遍历列表列表。 迭代遍历列表中的每个列表。
list=[[0.9 0.8 0.1 0.2 0.5 ][0.5 0.3 0.2 0.1 0.7 ][0.6 0.1 0.3 0.2 0.9][0.3 0.7 0.4 0.1 0.8]]
因此迭代遍历内部的每个列表,仅迭代到第三个位置,例如:
list=[[0.9 0.8 0.1][0.5 0.3 0.2][0.6 0.1 0.3][0.3 0.7 0.4 ]]
有人告诉我,怎么办? 这是我的代码:
list=[]
i=0
j=0
data=open('BDtxt.txt','r')
for line in data.xreadlines():
lista.append(line.strip().split())
while i<len(lista):
while j < len(lista[i]):
print lista[j]
j+=1
i+=1
,输出为:
['0.9', '0.8', '0.1', '0.2', '0.5']
['0.5', '0.3', '0.2', '0.1', '0.7']
['0.6', '0.1', '0.3', '0.2', '0.9']
['0.3', '0.7', '0.4', '0.1', '0.8']
我希望输出为
[0.9 0.8 0.1]
[0.5 0.3 0.2]
[0.6 0.1 0.3]
[0.3 0.7 0.4]
答案 0 :(得分:3)
这称为采用数组的切片(不是迭代或循环)。使用numpy.array。要读入您的csv文件,请使用numpy.genfromtxt()或pandas.read_csv() - 对于那些,SO上有大量重复的问题。
import numpy as np
a = np.array([[0.9,0.8,0.1,0.2,0.5], [0.5,0.3,0.2,0.1,0.7], [0.6,0.1,0.3,0.2,0.9], [0.3,0.7,0.4,0.1,0.8]])
a[:,0:3]
array([[ 0.9, 0.8, 0.1],
[ 0.5, 0.3, 0.2],
[ 0.6, 0.1, 0.3],
[ 0.3, 0.7, 0.4]])