在元组列表中倒转数字

时间:2018-10-20 21:59:00

标签: python-3.x pandas

我有一些lng,lat的坐标数据,但是我需要lat,lng

我将它们包含在元组列表中,并且需要在它们之间进行切换:

myList = [(-87.93897686650001, 41.8493707892),
 (-87.93893322819997, 41.8471652588),
 (-87.9292710931, 41.8474548975),
 (-87.91960917239999, 41.8477438951),
 (-87.91927828050001, 41.8404034535)]

我尝试过

newList = []
for i in range(len(myList)):
    for c, x in reversed(list(enumerate(myList[i]))):
        newList.append(x)

我得到以下输出,这是关闭的

[41.8493707892,
 -87.93897686650001,
 41.8471652588,
 -87.93893322819997,
 41.8474548975,
 -87.9292710931,
 41.8477438951,
 -87.91960917239999,
 41.8404034535,
 -87.91927828050001]

但是我正在寻找

[(41.8493707892, -87.93897686650001),
     (41.8471652588, -87.93893322819997),
     (41.8474548975, -87.9292710931),
     (41.8477438951, -87.91960917239999),
     (41.8404034535, -87.91927828050001)]
理想情况下,我想在嵌套的for循环中完成所有操作;但是我不在乎是否需要对newList进行分组。

一如既往地感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

除非您真的很喜欢嵌套的for循环,否则使用这种列表理解可能最简单:

newlist=[i[::-1] for i in myList]

>>> newlist
[(41.8493707892, -87.93897686650001), (41.8471652588, -87.93893322819997), (41.8474548975, -87.9292710931), (41.8477438951, -87.91960917239999), (41.8404034535, -87.91927828050001)]

答案 1 :(得分:0)

您可以通过列表理解非常容易地做到这一点。

[(b,a) for a,b in myList]