Python 将列表解析为其他列表
我有一个python列表,看起来是这样的:Python 将列表解析为其他列表,python,list,parsing,Python,List,Parsing,我有一个python列表,看起来是这样的: ['GIS_FPC_PP,PERIMETER,MAT,LIGHTS,PARK,SPACES,LAT,LNG\n', '8266.99157657,453.7255798,Paved,1,American Legion,20,40.0188044212,-75.0547647126\n', '20054.5870679,928.20201772,Paved,1,Barnes Foundation Museum, ,39.9610355788,-75.17
['GIS_FPC_PP,PERIMETER,MAT,LIGHTS,PARK,SPACES,LAT,LNG\n', '8266.99157657,453.7255798,Paved,1,American Legion,20,40.0188044212,-75.0547647126\n', '20054.5870679,928.20201772,Paved,1,Barnes Foundation Museum, ,39.9610355788,-75.1725011285\n']
它有很多我不需要的数据。我只需要每个条目的最后两个数字。遍历此列表并将我需要的所有数据放入另一个列表列表中的最佳方法是什么,其中每对都是自己的列表
[[y.strip() for y in x.split(",")[-2:]] for x in original_list[1:]]
也就是说:对于原始列表中的每个x(减去第一个条目,它看起来像一个标题),使用逗号分割后得到的最后两个条目,并去除这两个条目中的每一个(以删除额外的空格,如尾部的\n
)
也就是说:对于原始列表中的每个x(减去第一个条目,它看起来像一个标题),使用逗号拆分后得到的最后两个条目,并将这两个条目中的每一个都去掉(以删除额外的空格,如尾部的
\n
)。您可以遍历列表条目,并拆分第一个条目之后的条目,从列表中获取最后两项并将其附加到新列表中
l = ['GIS_FPC_PP,PERIMETER,MAT,LIGHTS,PARK,SPACES,LAT,LNG\n',
'8266.99157657,453.7255798,Paved,1,American Legion,20,40.0188044212,-75.0547647126\n',
'20054.5870679,928.20201772,Paved,1,Barnes Foundation Museum, ,39.9610355788,-75.1725011285\n']
newList = []
for i in range(0, len(l)):
item = l[i]
tempList = []
if i != 0:
itemSplit = item.split(',')
tempList.append(itemSplit[-2].strip())
tempList.append(itemSplit[-1].strip())
newList.append(tuple(tempList))
print newList
输出
您可以遍历列表项并在第一个项目之后拆分项目,然后从列表中获取最后两个项目并将其附加到新列表中
l = ['GIS_FPC_PP,PERIMETER,MAT,LIGHTS,PARK,SPACES,LAT,LNG\n',
'8266.99157657,453.7255798,Paved,1,American Legion,20,40.0188044212,-75.0547647126\n',
'20054.5870679,928.20201772,Paved,1,Barnes Foundation Museum, ,39.9610355788,-75.1725011285\n']
newList = []
for i in range(0, len(l)):
item = l[i]
tempList = []
if i != 0:
itemSplit = item.split(',')
tempList.append(itemSplit[-2].strip())
tempList.append(itemSplit[-1].strip())
newList.append(tuple(tempList))
print newList
输出
你能展示你的预期产出吗?你试过的代码是什么?为什么一开始就有这个列表?这是一个CSV文件,所以您最好使用?这是一个CSV文件。我怎样才能得到我需要的数据?你能展示你的预期输出吗?你试过的代码是什么?为什么一开始就有这个列表?这是一个CSV文件,所以您最好使用?这是一个CSV文件。我怎样才能得到我需要的数据呢?@jgritty OP声明
遍历此列表并将我需要的所有数据放入另一个列表的最佳方式是什么?
@jgritty虽然我的方式可能不是最佳方式
,但它仍然是将这些指定项放入新列表的有效方式抱歉,我确实注意到我的行动模糊不清。我修正了这个问题。我希望输出列表是一个列表列表,每一对都是它们自己的列表。还有,有没有办法删除每个经度数字后面的新行?@Albert:您正在寻找的方法是strip
(删除字符串两端的空白)@jgritty OP声明遍历此列表并将我需要的所有数据放入另一个列表的最佳方式是什么?
@jgritty虽然我的方式可能不是最佳
但仍然是将这些指定项放入新列表的有效方式抱歉,我确实注意到我的OP是模糊的。我修正了这个问题。我希望输出列表是一个列表列表,每一对都是它们自己的列表。还有,有没有办法删除每个经度数字后面的新行?@Albert:您正在寻找的方法是strip
(删除字符串两端的空白)。