python - 如何检查二维数组中的前一行?在 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
解决方案
你可以尝试这样的事情:
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
推荐阅读
- javascript - 从对象数组中的属性创建字符串文字联合
- java - 出现错误:Integer 类型中的方法 parseInt(String, int) 不适用于参数 (String, Duration)
- express - 在快速服务器中设置后,OWASP 标头未显示在浏览器中
- python - 根据两列在 Pandas 中制作唯一的指标列
- amazon-ecs - 如何使用 AWS CLI 更新 ecs taskdefinition
- c# - 仅将可观察集合中的可用字母显示到 datagridview
- ajax - 在 .Net Core 3.1 上发布时未使用新 ViewModel 重新加载表单
- javascript - 使用 React Material-UI 自动完成始终显示默认选项
- r - 警告:magick_image_readpath 中的错误:R:无法打开图像“02-Backrounds/1F602.png”没有这样的文件或目录@error/blob.c/OpenBlob/2924
- python - 读取可执行文件时Pythonanywhere“权限被拒绝”