리스트 안의 숫자들 총합을 구하고 싶어서 질문 들려요!

조회수 490회
 import numpy as np

import os

import re

seoul_file = open("seoul.txt", "r", encoding = "utf8")

seoul = seoul_file.read().splitlines()

print("서울 데이터 받기 완료")

seoul_file.close()


time12_seoul = []

date12_s = []

date12_s2 = []


def clean_text(inputString):    #특수문자 제거

  text_rmv = re.sub('[-=+,#/:^.@*\"※~ ㆍ!』None‘|}\(\)\[\]`\'…》\”\“\’·]', '', str(inputString))

  return text_rmv


def list_chunk(lst, n):        #리스트 분할하기(날짜별로 나눌 때)

    return [lst[i:i+n] for i in range(0, len(lst), n)]

def None_del(n,lst):

    lst.clear()

    for a in n:

        a = list(filter(None, a))
        lst.append(a)
    return lst

for s_time in seoul:     
                  #서울의 12시 데이터만 담음
    if '12:00' in s_time:

        time12_seoul.append(s_time)


for s_data12 in time12_seoul:

    list_s = s_data12.split(',')
    del list_s[0]
    del list_s[1]
    Value_seoul12 = list_s[0].split(":")
    del Value_seoul12[0]
    Value_seoul12 = clean_text(Value_seoul12)
    if Value_seoul12 == '':
        date12_s.append(Value_seoul12)
        continue
    else:
        Value_seoul12 = (Value_seoul12)
        date12_s.append(Value_seoul12)

    #print(Value_seoul12)
    Value2_seoul12 = list_s[1].split(":")
    del Value2_seoul12[0]
    Value2_seoul12 = clean_text(Value2_seoul12)
    if Value2_seoul12 == '':
        date12_s2.append(Value2_seoul12)
        continue
    else:
        Value2_seoul12 = (Value2_seoul12)
        date12_s2.append(Value2_seoul12)
    #print(Value2_seoul12)

s_12 = list_chunk(date12_s, 40)

s2_12 = list_chunk(date12_s2, 40)

date12_s = None_del(s_12, date12_s)

date12_s2 = None_del(s2_12, date12_s2)

질문

이런식으로 코딩을 해서 파일에서 원하는 데이터를받았는데 int( date12_s)로 묶어서 sum을 이용해서 리스트 안의 숫자의 총합을 구해 보고, map으로 int형을 만들어도 계속 합이 안 구해져서 질문 드려요..

지금 해야하는거는 date12_sdate12_s2의 각 각의 총합을 구해하는건데 어디서 부터 무엇이 문제인지 잘 몰라서 물어 봐요!

  • 대충 보기에는 None_del() 함수가 문제인데요. 새로 정의하신 함수들이 해야 하는 일이 정확히 뭔가요? n, lst 같은걸 보아서는 이해할 수가 없어서 뭔가 이상하단 느낌만 들고 잘은 모르겠네요. 엽토군 2021.11.26 16:30
  • 총합을 구하는 코드는 어디있나요?? 초보자 2021.11.26 17:00
  • 텍스트파일에 있는 데이터를 가공해서 리스트에서 넣었는데 가공한 텍스트 파일에 보면 - 쳐진 정보가 있어요. 그래서 - 문자열을 없애고 다시 넣어서 리스트에 빈 문자열 공간이 생겨서 그걸 없애는 함수입니다. 박성령 2021.11.26 17:03

1 답변

    1. 코드를 자세히 들여다보지 않아서 정확히 date_12s 가 최종적으로 어떤 게 나올지는 모르겠습니다.
    2. 단, 텍스트파일을 읽어서, 그걸 클린하고, 파싱해서 어떤 숫자모양의 문자열의 리스트가 만들어지리라 생각합니다. 왜냐하면, 코드 중간에 int 등 문자열로 수치로 바꾸어 주는 함수가 보이지 않기 때문입니다.
    3. 그렇다면, date_s12 의 원소들이 문자열이기 때문에, sum(date_s12) 같은 코드가 동작할 수 없겠습니다. sum(map(int, date_s12)) 처럼 먼저 원소들을 int 등으로 수치로 바꾼 후에 총합을 구하세요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)