我有以下列表清单:
Points = [['A', 1.01, 0.11], ['B', 0.97, 0.14], ['C', 1.05, 0.15], ['D', 0.96, 0.14], ['E', 1.55, 0.22], ['F', 1.06, 0.04], ['G', 0.88, 0.15], ['H', 0.80, 0.21], ['I', 0.87, 0.19], ['J', 0.80, 0.30]]
Origin = [['J', 0.80, 0.30]]
Distance = [0.28, 0.23, 0.30, 0.22, 0.75, 0.37, 0.17, 0.09, 0.13, 0.0]
我需要在点列表中获取列表的第一个元素, 原始列表中列表的第一个元素, 和距离列表的距离。
如何使用Python创建这样的新列表?
Span = [['A', 'J', 0.28], ['B', 'J', 0.23], ['C', 'J', 0.30], ['D', 'J', 0.22], ['E', 'J', 0.75], ['F', 'J', 0.37], ['G', 'J', 0.17], ['H', 'J', 0.09], ['I', 'J', 0.13], ['J', 'J', 0.00]]
我在下面试过
Point_Name=[(i[0]) for i in Points]
Origin_Set=[(i[0]) for i in Origin]
Span = zip(Point_Name,Origin_Set,Distance)
print Span
但是因为我需要它没有成功。因为我只有一个清单:
[('A', 'J', 0.28)]
答案 0 :(得分:0)
这就是你可以做到的。
list = []
for i in range(len(Points)):
element = []
element.append(Points[i][0])
element.append(Origin[0][0])
element.append(Distance[i])
list.append(element)
print list
答案 1 :(得分:0)
pythonic实现。
[i.append(Origin[0][0]) for i in Points]
print [[item1[0],item1[-1],item2] for item1,item2 in zip(Points,Distance)]
<强>结果强>
[['A', 'J', 0.28], ['B', 'J', 0.23], ['C', 'J', 0.3], ['D', 'J', 0.22], ['E', 'J', 0.75], ['F', 'J', 0.37], ['G', 'J', 0.17], ['H', 'J', 0.09], ['I', 'J', 0.13], ['J', 'J', 0.0]]