Python 如何检查项目是否为列表中的第一个项目
我试图读取dat文件并从dat文件中提取某些信息 我的代码如下所示:Python 如何检查项目是否为列表中的第一个项目,python,list,Python,List,我试图读取dat文件并从dat文件中提取某些信息 我的代码如下所示: datContent = [i.strip().split() for i in open("data.dat").readlines()] positions = [] myItem = 'ST' # write it as a new CSV file for list in datContent: if myItem in list: positions.append(list) 我想检查一
datContent = [i.strip().split() for i in open("data.dat").readlines()]
positions = []
myItem = 'ST'
# write it as a new CSV file
for list in datContent:
if myItem in list:
positions.append(list)
我想检查一个项目是否是列表中的第一个项目,我想要下面的两个列表。我该怎么做?如果您想在列表包含第一个项目后再添加下一个列表,您可以使用:
[s for f, s in zip(datContent, datContent[2:]) if f[0] == myItem]
例如:
datContent = [['ST', '1', '2', '3'], ['1', '5', '3'],['2', '6', '3'],['ST', '2', '4'], ['ST', '2', '2'],['2', '6', '3']]
myItem = 'ST'
[s for f, s in zip(datContent, datContent[2:]) if f[0] == myItem]
输出:
[['2', '6', '3'], ['2', '6', '3']]
您可以查看内置函数不相关,但请不要对打开的i(“data.dat”)执行
。readlines()
只需对打开的i(“data.dat”)执行
,如果datContent[0]
中的myItem是@juanpa.arrivillaga,为什么我不能执行它?可能datContent[0]
是str
的实例。所以我认为如果myItem==datContent[0]可以工作。@lakesh,你可以,但效率很低。您正在预先创建一个列表以进行迭代,可以通过直接迭代文件指针来避免该列表。(想想百万行文件)找到项目后如何获得第二个列表?for循环将完成此工作?我需要找到列表中项目后的第二个列表。完整的第二个列表还是?也是第一件吗?@lakesh举个例子会很有帮助