【发布时间】:2019-02-23 03:32:04
【问题描述】:
我正在运行时创建一个 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
我想用 dict 值和数据数组值替换 values 数组的值。
所以输出应该是;
[
["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
此代码无法正常工作。我该怎么做?
【问题讨论】:
标签: python python-3.x dictionary multidimensional-array