我有一个文件,格式如下:
我需要在Python中读取这个文件,并以以下格式存储在列表中:
到目前为止,我已经将文件读入并将值存储在列表中。
然后,我将每个“j”值转换为[-1,-1,-1],并将该值用作列表之间的分隔符。
我相信这会给我想要的输出,但对于我上方展示的文件示例却无效,因为它没有删除#及其后面的值。
我不确定如何从列表中删除#及其后面的值,所以任何帮助都将是很大的帮助。谢谢。
-2000 -2000 -2000 # (*THE FRAME, origin point*), 1
-2000 379 -2000 # 2
2000 379 -2000 # 3
2000 -2000 -2000 # 4
-2000 -2000 -2000 # 1
j
2000 379 -1190 # 7
2000 -2000 -1190 # 8
-2000 -2000 -1190 # 5
我需要在Python中读取这个文件,并以以下格式存储在列表中:
[[[-2000, -2000, -2000], [-2000 379 -2000], [2000, 379, -2000], [2000, -2000, -2000], [-2000, -2000, -2000]],[[2000, 379, -1190], [2000, -2000, -1190], [-2000, -2000, -1190]]]
到目前为止,我已经将文件读入并将值存储在列表中。
file = open('filename', 'r')
vlist = file.readlines()
file.close
然后,我将每个“j”值转换为[-1,-1,-1],并将该值用作列表之间的分隔符。
points = []
points = [list(map(int,elem.split())) if elem.strip().lower() != "j" else [-1, -1, -1] for elem in vlist]
然后使用itertools,我可以将这个列表分成多个组,每当列表中出现[-1,-1,-1]时就分割:
pointLists = [list(group) for val, group in groupby(points, lambda x: x == [-1,-1,-1]) if not val]
我相信这会给我想要的输出,但对于我上方展示的文件示例却无效,因为它没有删除#及其后面的值。
我不确定如何从列表中删除#及其后面的值,所以任何帮助都将是很大的帮助。谢谢。
enter code here