如何选择/获取字符串数组列表中的值?
当我执行代码来读取文件中的内容时,它如下:
for line in testFile:
test = line.split()
#Output:
['1', '21', '32', '43', '54', '65', '76', '87']
['2', '31', '42', '53', '64', '75', '86', '97']
['3', '41', '52', '63', '74', '85', '96', '107']
...
...
然而,现在据说我想选择并获取输出中的第一个值 - 1,2,3
,我得到['1', '21', '32', '43', '54', '65', '76', '87']
或最后一行的值,我应该编码{{1 }或print test[0]
意思是说,如果我决定抓住第3列的值,它会给我for item in test..
,如果我抓住第6列,它会给我32,42,52
等
列数是相同的,我问这个,因为我要么在旋转/翻译attibutes设置值,而第一列是帧号...
是否可以这样做?
答案 0 :(得分:5)
您只需要使用zip
功能转置内容,就像这样
with open("inputfile") as f:
rows = zip(*[line.split() for line in f])
print rows[0]
我们使用open
和with
语句打开文件。然后,我们逐行读取并分割每条读取线。所以,我们得到一个列表清单。现在,我们将每个列表应用于zip
函数,实际转换它们。转置后,行成为列,列成为行。例如,
[[1, 2, 3]
[4, 5, 6]
[7, 8, 9]]
将成为
[[1, 4, 7]
[2, 5, 8]
[3, 6, 9]]