由于大量列表,使用for循环进行元组特定提取

时间:2017-05-15 11:55:55

标签: python list tuples

我想在偶数或奇数位置提取超过1对元组。例如第一个和最后一个。我读了很多问题,所有问题都指的是如何从每个元组中提取一个特定的问题,但我必须有2对。 我正在使用例如test2(已经作为元组制作)并且目前试图用以下方法解决:

Tuplewanted=[x[0::1] for x in Tuple]

Tuplewanted
Out[44]: 
[(778933.8147968281, 5803816.850292235),
 (778999.2820487045, 5804014.491034968),
 (779011.4321377204, 5804048.532974694),
 (779024.8198435705, 5804081.474176192),
 (779039.3061023126, 5804115.648560766),
 (779055.1628175485, 5804146.376816435),
 (779072.6698779828, 5804178.971719031),
 (779121.9406760866, 5804267.038294602)]

虽然我只想要第一个元组和最后一个

Tuplewanted= [(778933.8147968281, 5803816.850292235),(779121.9406760866, 5804267.038294602)]

任何? 请注意,Typewanted[0]Typewanted[7]以及.append无效,因为我的列表中包含超过100000个元组列表。

解决方案

Tuplewanted['coords']=[ix.coords[::len(ix.coords)-1]for ix in Tuple.geometry]

再次感谢您

1 个答案:

答案 0 :(得分:1)

我不太确定你想要什么。如果您只想要最后一个元组,可以执行以下操作:list[-1]