Проблемы с преобразованием списка раз в Python? - PullRequest
0 голосов
/ 05 марта 2020

У меня есть список времени в секундах, который я хотел бы преобразовать в удобочитаемое время, UT C. Мое время в секундах с 1 января 1978 года, в 0 часов, 0 минут и 0 секунд. Итак, из моего списка, times, я сначала вычел восемь, умноженное на количество секунд в году, поскольку пакет time использует UNIX эпоху.

import time
times = times - (8*31556926)
for i in range(12191):
    times[i] = time.gmtime([times[i]])

, который возвращает

TypeError: an integer is required (got type list)

Я попытался преобразовать в список целых чисел двумя способами:

times[i] = time.gmtime(int([timelist[i]]))

, который выбрасывает

TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'

и

timelist = [int(times) for times in times]
for i in range(12191):
    times[i] = time.gmtime([timelist[i]])

который выбрасывает

TypeError: an integer is required (got type list)

Я новичок в Python и не использовал пакет времени раньше - кто-нибудь получил какие-либо предложения?

1 Ответ

2 голосов
/ 05 марта 2020

Вместо использования times[i] = time.gmtime([times[i]]) вы можете использовать times[i] = time.gmtime(int(times[i])), потому что times[i] возвращает строку, которую можно преобразовать в целое число с помощью int(), но вы поместили times[i] в другую пару [], которая превращает ее в список с одним элементом в нем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...