首页 > 解决方案 > 如何检查二维数组中的前一行?在 Python 中

问题描述

20 年 6 月 12 日:在评论者明确表示我没有在 OP 中提供足够信息后编辑帖子。

假设我有一个包含以下内容的 tsv 文件(名为“tsv-test.txt”):

5ig7    G   H   0   I
5ig7    A   B   0   C
5ig7    D   E   0   F
5ig7    J   K   0   L
6ch8    D   E   0   B

在第一列中,我想检查前一行是否具有相同的术语。我已将 tsv 读入列表列表。如何遍历列表列表以在每一行检查第一列中的术语?作为参考,这是我到目前为止所做的:

import csv

#read the tsv into python, tell python its a tsv
tsv_file = open("tsv-test.txt")
read_tsv = csv.reader(tsv_file, delimiter="\t")

#put tsv into a 2D array
arraytest = []
for line in read_tsv:
    arraytest.append(line)

我想用一个真/假语句循环遍历 arraytest 变量。我不知道如何编写这段代码,但希望我正在尝试做的事情如下:

if arraytest[n][0] == arraytest[n-1][0]:
    print("True")
else:
    print("False")

我期待的输出是:

True
True
True
False

标签: pythoncsvif-statementmultidimensional-array

解决方案


你可以尝试这样的事情:

import csv

#read the tsv into python, tell python its a tsv
tsv_file = open("tsv-test.txt")
read_tsv = list(csv.reader(tsv_file, delimiter="\t"))

for i,line in enumerate(read_tsv):
    if i == 0:continue     
    print(read_tsv[i][0] == read_tsv[i-1][0])

输出:

True
True
True
False

推荐阅读