Как добавить условие в словарь списков JSON на основе индексации в python

#python #json

#python #json

Вопрос:

Мой пример Json

 [ {'key' : 1, 'value' : 'one' } , {'key' : 2, 'value' : 'two' } , {'key' : 3, 'value' : 'three' } , {'key' : 4, 'value' : 'four' }]
 

у меня есть флаг isVisible, для которого я изначально устанавливаю значение False,

 isVisible = False
 

Я хочу, чтобы мой флаг имел значение True только для последнего индекса в каждом элементе внутри списка.

Желаемый результат (как флаг должен изменять его значение):

 [{'key' : 1, 'value' : 'one' },
isVisible = True

{'key' : 2, 'value' : 'two' },
isVisible = True

{'key' : 3, 'value' : 'three' },
isVisible = True

{'key' : 4, 'value' : 'four' },
isVisible = True
]
 

пожалуйста, поправьте меня или отредактируйте, если я что-то упустил, поскольку я все еще учусь.

Комментарии:

1. вы хотите, чтобы это невидимое значение находилось внутри объекта или как отдельное значение в основном массиве?

2. я хочу добиться чего-то вроде —> if (atRequiredIndex): isVisible = True , а не внутри JSON, я только что проиллюстрировал, как требуется вывод JSON, который нельзя изменить.

3. если вы выполняете итерацию в этом массиве, вы можете сделать что-то вроде ответа, который я опубликовал

4. Подробнее? недостаточно ясно

5. @AhmedI. Кроме того, проще говоря, я хочу добавить некоторое условие после зацикливания каждого элемента (каждый элемент здесь представляет собой один словарь) внутри списка.

Ответ №1:

 for i,element in enumerate(arr):
    if (i==len(arr)-1):
        print("last element" )
    else:
        print("Not last element" )
 

вы можете получить такой индекс и проверить, является ли он последним элементом или нет!

Комментарии:

1. При таком подходе я всегда буду получать условие моего флага True, я хочу, чтобы оно было истинным только в позиции, которую я показал выше

2. просто замените print(«последний элемент») на задачу, которую вы хотите выполнить при последнем индексе, и print («Не последний элемент») на задачу, которую вы хотите выполнить для других индексов

3. Да, конечно, именно так я и пытался, я думаю, мне не хватает четкого объяснения вопроса, я отредактирую этот вопрос, чтобы сделать его более понятным, спасибо за ваши усилия