Python 按特定轴筛选元组列表

Python 按特定轴筛选元组列表,python,python-3.x,Python,Python 3.x,我有一个csv文件,包含3列x、y、z坐标,即以下格式: 我使用以下代码导入并处理其数据: 导入csv 从运算符导入itemgetter csvfile=open(r'C:\Users\%username%\Desktop\Deep lizard\x_y_z coor.csv') infle=csv.reader(csvfile) #箕斗式掘进机 填充下一个 #读取并排序顶点坐标(按x和y排序) 顶点=排序([(浮点(r[0])、浮点(r[1])、浮点(r[2]),用于填充中的r),键=ite

我有一个csv文件,包含3列x、y、z坐标,即以下格式:

我使用以下代码导入并处理其数据:

导入csv
从运算符导入itemgetter
csvfile=open(r'C:\Users\%username%\Desktop\Deep lizard\x_y_z coor.csv')
infle=csv.reader(csvfile)
#箕斗式掘进机
填充下一个
#读取并排序顶点坐标(按x和y排序)
顶点=排序([(浮点(r[0])、浮点(r[1])、浮点(r[2]),用于填充中的r),键=itemgetter(0,1))
这将
顶点
转化为元组列表:


我想要实现的是过滤列表,这样,如果元组中的第三个元素(即z坐标)大于0,则将该条目(3个元素的元组)包括在列表中,否则如果它为0,则不包括它。这样做的最佳方式是什么?

您可以在要筛选的理解末尾添加一个
if
语句

In [1]: l = list(zip(range(10),range(0,20,2)))
   ...: l
   ...:
Out[1]:
[(0, 0),
 (1, 2),
 (2, 4),
 (3, 6),
 (4, 8),
 (5, 10),
 (6, 12),
 (7, 14),
 (8, 16),
 (9, 18)]

In [2]: [x for x in l if x[1]<13]
Out[2]: [(0, 0), (1, 2), (2, 4), (3, 6), (4, 8), (5, 10), (6, 12)]
[1]中的
:l=列表(zip(范围(10),范围(0,20,2)))
…:l
...:
出[1]:
[(0, 0),
(1, 2),
(2, 4),
(3, 6),
(4, 8),
(5, 10),
(6, 12),
(7, 14),
(8, 16),
(9, 18)]

在[2]:[x代表l中的x如果x[1]您已经使用列表理解来创建“排序”列表。列表理解允许使用“如果”部分进行筛选。这是Michael。感谢您的建议。非常感谢