Вопрос со временем и списками
Я хотел совершить эксперимент небольшой: создать список из n-го количества элементов, в каждом из которого будет отображаться значение time.time(). Однако, консоль выводит одинаковые значения. Как сделать так, чтобы каждое значение было больше предыдущего в списке? И как поступить, если оно, к примеру, является правой стороной элемента в словаре?
import time
n = [{'t': time.time(), 'n': 'one'},{'t': time.time(), 'n':'two'}]
print(n[0]['t'], n[0]['n'])
print(n[1]['t'], n[1]['n'])
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Могу предложить такой немного смешной способ:
import time
k = 3
n = [{'t': time.sleep(0.1), 't': time.time(), 'n': i} for i in range(1, k+1)]
print(n)
Вывод:
[{'t': 1613628305.7483826, 'n': 1}, {'t': 1613628305.8485167, 'n': 2}, {'t': 1613628305.9487169, 'n': 3}]
Прикол в том, что если при создании словаря есть повторяющиеся ключи, то сохраняется только последний. Таким образом, я добавил паузу в создание словаря, при этом результат выполнения функцииtime.sleep() (None) потом отбрасывается.