У меня есть список узлов с их координатами в виде
MCoord = [[Node1,X,Y,Z],[Node2,X,Y,Z]...]
Координаты:
MCoord = [
[1, 0, 0, 0],
[2, 0, 1000, 1300],
[3, 0, 2000, 2000],
[4, 0, 3000, 2500],
[5, 0, 4000, 3200],
[6, 0, 5000, 4200],
[7, 0, 6000, 6000],
[8, 1000, 0, 0],
[9, 1000, 1000, 1300],
[10, 1000, 2000, 2000],
[11, 1000, 3000, 2500],
[12, 1000, 4000, 3200],
[13, 1000, 5000, 4200],
[14, 1000, 6000, 6000],
[15, 2000, 0, 0],
[16, 2000, 1000, 1300],
// ...
[27, 3500, 5000, 4200],
[28, 3500, 6000, 6000]
]
Я хочу сохранить все узлы (с их координаты) той же координаты X и соответствующие значения ключа под ключами S1 (все узлы с одинаковым значением X), S2, S3 и т. д.
Сценарий:
SectionLocation = {'S1':0 , 'S2':1000 , 'S3':2000 , 'S4':3500}
SectionComplete = {'S1':0 , 'S2':0 , 'S3':0 , 'S4':0}
k = 0
for i in range(len(MCoord)):
print(i)
if MCoord[i][1] == SectionLocation[k]:
keydic = get_key(SectionLocation[k])
SectionComplete[keydic].append(MCoord[i])
print(SectionComplete)
else:
k = k + 1
print(SectionComplete)
Кажется, я не могу добавить новые значения в словарь. Любой совет?
Желаемый выход:
SectionComplete = {
'S1' : [
[1, 0, 0, 0],
[2, 0, 1000, 1300],
[3, 0, 2000, 2000],
[4, 0, 3000, 2500],
[5, 0, 4000, 3200],
[6, 0, 5000, 4200],
[7, 0, 6000, 6000]
],
'S2' : [
[8, 1000, 0, 0],
[9, 1000, 1000, 1300],
[10, 1000, 2000, 2000],
[11, 1000, 3000, 2500],
[12, 1000, 4000, 3200],
[13, 1000, 5000, 4200],
[14, 1000, 6000, 6000]
],
// ...
}