Использование zip()
:
n = 51
m = 31
data = [(i,j,i*2) for i in range(n) for j in range(m)]
data = [', '.join(map(str, x)) for x in data] # removing the tuples
lat = np.arange(33.8916,34.0426,0.003)
long = np.arange(78.0136,78.1036,0.003)
res = list(zip(lat,long,data)) # zipping the lists together
logFile = "list.txt"
with open(logFile, "w") as f:
for data in res:
f.write("%s, %s, %s" % data + "\n")
ВЫХОД (list.txt) :
33.8916, 78.0136, 0, 0, 0
33.8946, 78.0166, 0, 1, 0
33.8976, 78.0196, 0, 2, 0
33.9006, 78.0226, 0, 3, 0
33.9036, 78.0256, 0, 4, 0
33.9066, 78.0286, 0, 5, 0
.
.
.
РЕДАКТИРОВАТЬ :
Чтобы пройти весь путь до data
, используйте zip_longest()
:
res = list(zip_longest(lat,long,data))
logFile = "list.txt"
with open(logFile, "w") as f:
for data in res:
f.write("%s, %s, %s" % data + "\n")
Примечание: Использование zip_longest
вставляет None
при значениях missing
Например :
print(len(data)) # 1581
print(len(lat)) # 51
print(len(long)) # 31
Следовательно:
ВЫХОД :
33.8916, 78.0136, 0, 0, 0
33.8946, 78.0166, 0, 1, 0
33.8976, 78.0196, 0, 2, 0
.
.
33.9846, None, 1, 0, 2
33.9876, None, 1, 1, 2
.
.
None, None, 50, 28, 100
None, None, 50, 29, 100
None, None, 50, 30, 100
РЕДАКТИРОВАТЬ 2 :
Чтобы иметь согласованные списки, внесите следующие изменения:
n = 2
m = 23
lat = np.arange(33.8916,34.0426,0.0033)
long = np.arange(78.0136,78.1036,0.002)