我需要組合兩個串列中的值(經度/緯度),以獲得一個組合串列(不是元組或字串格式)我的簡單 for 回圈沒有正確迭代第一個串列,它使用一個值來匹配中的所有值第二個串列,在移動到下一個值之前。
for a in location1:
for b in location2:
location3.append(a b)
location3
我得到了這個(一個 'a' 匹配所有的 'b's first):
[[41.7770923949, -87.6060037796],
[41.7770923949, -87.6547753762],
[41.7770923949, -87.5716351762],
我希望這在兩個串列中匹配相同的序列:
[41.7770923949, -87.6060037796],
[41.784575915, -87.6547753762],
此外,嘗試使用 zip/map 進行操作,如下所示:
list(map(lambda X: (X[0],X[1]), list(zip(location1,location2))))
給我的不是正確的形式(還有其他方法嗎?):
[([41.7770923949], [-87.6060037796]),
([41.784575915], [-87.6547753762]),
uj5u.com熱心網友回復:
您需要直接使用 zip 來迭代這兩個串列,而不是使用 lambda。
l1 = [ 2, 4, 6, 8 ]
l2 = [ 1, 3, 5, 7 ]
coord = []
for a, b in zip( l1, l2 ):
coord.append( [ a, b ] )
print( coord )
順便說一句,你的問題與這個有關。
uj5u.com熱心網友回復:
您的代碼中不需要第二個。我認為你的資料結構是這樣的:
location1 = [[1], [2], [3]]
location2 = [[4], [5], [6]]
然后試試這個:
location3 = []
for i, _ in enumerate(location1):
location3.append(location1[i] location2[i])
print(location3)
結果:
[[1, 4], [2, 5], [3, 6]]
uj5u.com熱心網友回復:
您需要顯示這兩個變數location1 and location 2。最終解決方案將取決于它。
情況 1:兩個變數都是串列串列,那么下面的解決方案適合您。
location1 = [[1], [2], [3]]
location2 = [[4], [5], [6]]
location3 = list(map(lambda coord: [coord[0][0],coord[1][0]], zip(location1,location2)))
print(location3)
案例 2:兩個變數的整數串列
location1 = [1, 2, 3]
location2 = [4, 5, 6]
location3 = list(map(lambda coord: list(coord), zip(location1,location2)))
print(location3)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/360826.html
下一篇:從r中的嵌套串列中提取變數
