Я извлекаю данные с сервера SQL и использую Python для переформатирования и сравнения их с данными в базе данных документов NoSQL.
Мой возвращаемый набор данных из SQL выглядит следующим образом: ('1', 'a') (' 2 ',' b ') (' 2 ',' c ') (' 3 ',' d ') (' 3 ',' e ') Первым атрибутом является идентификатор, и этот идентификатор может бытьповторяется несколько раз со вторым уникальным идентификатором, прикрепленным к нему.Чтобы сравнить данные SQL с данными JSON в моей базе данных NoSQL, мне нужно поместить данные в следующем формате:
{
'ID':2,
'IDInfo':
{'OtherID':'b'},
{'OtherID':'c'}
}
Я не могу понять, как сравнить список с самим собой.Я должен сравнить идентификатор первой строки с идентификатором второй строки, затем идентификатор второй строки с идентификатором третьей строки и так далее.Я понимаю, как сделать такой цикл в JavaScript, но я не могу понять это в Python.
Я попытался пройти по списку, начиная с индекса 0, а затем повторить этот же список снова виндекс 1 и сравнение этих идентификаторов:
for index,row in enumerate(sqlResult):
ID = row[0]
i = index+1
for index1,nextRow in enumerate(sqlResult, start=i):
if (index1<i+1):
nextRowId = nextRow[0]
if (nextRowId == ID):
#logic to append OtherID to a dynamically created object.
print(ID,nextRowId) #Used this line to make sure the I was comparing the first ID to the next row's ID.
Однако эта логика заканчивается только циклом / возвращением первой строки в моем списке строк.Я совершенно сбит с толку концепцией циклического повторения одного и того же объекта дважды в python и сравнения значений.Пожалуйста, помогите.