Я создаю словарь Python во время выполнения, как показано ниже,
valueDict = {(0, 0): 'P0', (20, 0): 'P1', (20, 11.36): 'P2', (0, 11.36): 'P3'}
У меня есть два массива;
values = [[0, 0, 20, 0, 15, 5.5, 5, 5.5]
[20, 0, 20, 11.36, 15, 5.5]
[20, 11.6, 0, 11.36, 5, 5.5, 15, 5.5]
[0, 11.36, 0, 0, 5, 5.5]]
data = [5, 5.5, 15, 5.5]
data[0] -> D0
data[1] -> D1
Я хочу заменить значения массива values
на значения dict и массива данных.
Таким образом, вывод должен быть;
[
["P0", "P1", "D1", "D0"],
["P1", "P2", "D1"],
["P2", "P3", "D0", "D1"],
["P3", "P0", "D0"]
]
Что япробовал это,
for x in range(0,len(values), 1):
y = 0
oneD = values[x]
for i, j in valueDict.iteritems():
print("y ", y)
print("left : ",(oneD[y], oneD[y+1])," right : ",i)
if ((oneD[y], oneD[y+1]) == i ):
oneD[y] = oneD[y].replace(j)
oneD[y+1] = oneD[y+1].replace(j)
elif((oneD[y], oneD[y+1]) == data[0]):
oneD[y] = oneD[y].replace("D0")
oneD[y+1] = oneD[y+1].replace("D0")
elif((oneD[y], oneD[y+1]) == data[1]):
oneD[y] = oneD[y].replace("D1")
oneD[y+1] = oneD[y+1].replace("D1")
else:
y += 2
continue
y += 2
Этот код не работает должным образом.Как я могу это сделать?