从字符串数组列表中抓取值?

时间:2014-09-08 07:55:11

标签: python list maya

如何选择/获取字符串数组列表中的值?

当我执行代码来读取文件中的内容时,它如下:

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设置值,而第一列是帧号...

是否可以这样做?

1 个答案:

答案 0 :(得分:5)

您只需要使用zip功能转置内容,就像这样

with open("inputfile") as f:
    rows = zip(*[line.split() for line in f])

print rows[0]

我们使用openwith语句打开文件。然后,我们逐行读取并分割每条读取线。所以,我们得到一个列表清单。现在,我们将每个列表应用于zip函数,实际转换它们。转置后,行成为列,列成为行。例如,

[[1, 2, 3]
 [4, 5, 6]
 [7, 8, 9]]

将成为

[[1, 4, 7]
 [2, 5, 8]
 [3, 6, 9]]