Python - 遍历列表的列表作为矩阵(切片)
Python - Iterating through list of list as a matrix (slice)
我想遍历列表列表。
还要遍历列表中的每个列表。
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]
这称为获取数组的切片(不是迭代或循环)。使用 numpy.array。要读取您的 csv 文件,请使用 numpy.genfromtxt() or 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]])
我想遍历列表列表。 还要遍历列表中的每个列表。
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]
这称为获取数组的切片(不是迭代或循环)。使用 numpy.array。要读取您的 csv 文件,请使用 numpy.genfromtxt() or 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]])