为了账号安全,请及时绑定邮箱和手机立即绑定

按特定轴过滤元组列表

按特定轴过滤元组列表

达令说 2022-06-02 10:15:48
我有一个 csv 文件,其中包含 3 列 x、y、z 坐标,即这种格式:我使用下面的代码来导入它并处理它的数据:import csvfrom operator import itemgettercsvfile = open(r'C:\Users\%username%\Desktop\Deep-lizard\x_y_z coor.csv')inFile = csv.reader(csvfile)# skip headerinFile.__next__()#Read and sort the vertices coordinates (sort by x and y)vertices = sorted( [(float(r[0]), float(r[1]), float(r[2])) for r in inFile], key = itemgetter(0,1) )这变成vertices了一个元组列表:我想要实现的是过滤列表,如果元组中的第三个元素(即 z 坐标)大于 0,则在列表中包含该条目(3 个元素的元组),否则如果它为 0,则不要不包括它。这样做的最佳方法是什么?
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

您可以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)]


查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信