파이썬 리스트 입력관련 질문입니다.


리스트의 첫 열들에 시간 문자열을 집어넣고 싶어서 코드를 짜봤습니다.

    matrix = [[0 for col in range(11)] for row in range(400)]

    time = datetime.datetime(1990, 1, 1, 9, 0)
    temp = time.time()
    for i  in range(0,400):
        matrix[i][0]=temp
        print temp
        time = time + datetime.timedelta(minutes=1)
        temp = time.time()
    print matrix

temp를 출력하면 09:00:00 부터 15:39:00 까지 값들이 출력이 됩니다. 그러나 matrix를 출력하니

[[datetime.time(9, 0), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[datetime.time(9, 1), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[datetime.time(9, 2), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ... 

이런 형식으로 09:00:00꼴이 아닌 'datetime.time()' 의형태로 list안에 입력이 되더라구요. matrix안에 09:00:00 부터 15:39:00까지 집어넣고 싶은데 방법이 없을까요?

  • 2016년 08월 23일에 수정됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.
  • 2016년 08월 22일에 작성됨

조회수 135


1 답변


matrix안에 데이터는 datetime.time(9,0)의 값이 들어가 있습니다. 출력했을때만 저렇게 보여주는거에요.

matrix에 데이터 자체를 9:00:00과 같은 형식으로 넣고 싶으시면 문자열로 바꿔서 넣어 보세요.

for i  in range(0,400):
        matrix[i][0] = str(temp) # 여기서 문자열로 바꿔 주면 됩니다.
        print temp
        time = time + datetime.timedelta(minutes=1)
        temp = time.time()
  • 2016년 08월 23일에 작성됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close