Изменение внутренних кортежей в файлах Json с помощью Python

Java - это вызов по значению.

Как это работает.

  • Вы всегда передаете копию бит значения ссылки!
  • Если это примитивный тип данных, эти биты содержат значение самого примитивного типа данных. Поэтому, если мы изменим значение заголовка внутри метода, то оно не отражает изменения вне.
  • Если это тип данных объекта, например Foo foo = new Foo (), тогда в этом случае копия адреса объекта проходит как ярлык файла, предположим, что у нас есть текстовый файл abc.txt на C: \ desktop, и предположим, что мы делаем ярлык тот же файл и поместите его внутри C: \ desktop \ abc-shortcut, поэтому, когда вы получаете доступ к файлу из C: \ desktop \ abc.txt и пишите 'Stack Overflow' и закрываете файл, и снова вы открываете файл из ярлыка, тогда вы пишете «является крупнейшим онлайн-сообществом для программистов, чтобы узнать», тогда общее изменение файла будет «Stack Overflow - это самое большое онлайн-сообщество для программистов, чтобы учиться», что означает, что не имеет значения, откуда вы открываете файл e, каждый раз, когда мы обращались к одному и тому же файлу, здесь мы можем считать Foo как файл и предположим, что foo хранится на адресе 123hd7h (исходный адрес, например C: \ desktop \ abc.txt) и 234jdid (скопированный адрес, например C: \ desktop \ abc-shortcut, который фактически содержит исходный адрес файла внутри). Поэтому для лучшего понимания создайте файл ярлыка и почувствуйте ...
1
задан Numerator 20 January 2019 в 09:48
поделиться

1 ответ

Если вы хотите повернуть время назад на некоторое количество дней для каждых start и end ваших данных, вам нужно перебрать times ключевые элементы вашего dict, а не только все элементы вашего dict.

import time

print('before:')
print(*data[0]['times'], sep='\n')
print(*data[1]['times'], sep='\n')

day_start = 28
for i in data:
    for pair in i['times']:
        pair['start'] = int((time.time() - day_start*60*60*24) * 1000)
        pair['end'] = int((time.time() - day_start-1*60*60*24) * 1000)
        day_start -= 2

print('\nafter:')
print(*data[0]['times'], sep='\n')
print(*data[1]['times'], sep='\n')

Выход

before:
{'end': 1543791600000, 'start': 1543683600000}
{'end': 1543899600000, 'start': 1543827600000}
{'end': 1543683600000, 'start': 1543647600000}
{'end': 1543755600000, 'start': 1543719600000}

after:
{'end': 1547892092406, 'start': 1545559320406}
{'end': 1547892094406, 'start': 1545732120406}
{'end': 1547892096406, 'start': 1545904920406}
{'end': 1547892098406, 'start': 1546077720406}
0
ответ дан Filip Młynarski 20 January 2019 в 09:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: