Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何检查项目是否为列表中的第一个项目_Python_List - Fatal编程技术网

Python 如何检查项目是否为列表中的第一个项目

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) 我想检查一

我试图读取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)

我想检查一个项目是否是列表中的第一个项目,我想要下面的两个列表。我该怎么做?

如果您想在列表包含第一个项目后再添加下一个列表,您可以使用:

[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举个例子会很有帮助