혼자 공부하는 파이썬 18강 - 리스트 기본

Поделиться
HTML-код
  • Опубликовано: 22 дек 2024

Комментарии • 69

  • @월드컵유럽
    @월드컵유럽 2 года назад +1

    b=[]
    c=[]
    for i in range(3):
    for j in range(4):
    c.append('가')
    b.append(c)
    print(b)
    이렇게 돌렸을때요, 왜 [가,가,가,가,가,가,가,가,가,가,가,가] 가 나오지 않고요,
    [['가', '가', '가', '가', '가', '가', '가', '가', '가', '가', '가', '가'], ['가', '가', '가', '가', '가', '가', '가', '가', '가', '가', '가', '가'], ['가', '가', '가', '가', '가', '가', '가', '가', '가', '가', '가', '가']] 이렇게 나오나요? (항상 감사드립니다~)

    • @윤인성
      @윤인성  2 года назад

      1. 일단 "리스트"를 "리스트에" 넣었으므로, 이중 리스트가 만들어져야 합니다.
      따라서 [[], [], []] (밖의 반복문이 3번 회전)이 됩니다.
      --- 여기서부터는 약간 고급 내용입니다. ---
      --- 글로는 설명이 살짝 복잡하므로 pythontutor.com/visualize.html 에 코드를 입력하고 실행해보세요! --
      2. 내부에 있는 리스트에 "가"를 4번씩 추가하는 작업이 진행되므로,
      [['가', '가', '가', '가'], ['가', '가', '가', '가', '가', '가', '가', '가'], ['가', '가', '가', '가', '가', '가', '가', '가', '가', '가', '가', '가']] 등으로 실행이 될 것이라고 예상할 수도 있는데요.
      3. 다음 강의를 참고해보시면 좋을 것 같은데
      ruclips.net/video/9tbjjZb65ng/видео.html
      4. 리스트는 큰 자료형이라서 스택에 주소가 올라가고 + 힙에 본체가 올라갑니다.
      c가 0x0001이라는 위치에 만들어졌다고 하면,
      c.append('가')는 0x0001에 있는 리스트에 요소를 추가하는 것이고
      b.append(c)는 [0x0001,0x0001, 0x0001]를 만들어냅니다.
      그래서 위와 같은 실행 결과(리스트 내부의 리스트가 모두 같은 형태)가 나오는 것입니다.

  • @파이썬-d5s
    @파이썬-d5s Год назад

    오늘 책 샀어요 TT. 백준 브론즈에서 실버로 넘어가려면 기초가 안됬다고 선생님한테 하도 지적받아서요. 실버랑 골드 플래티넘까지 잘 넘어가게 도와주세요!!

    • @윤인성
      @윤인성  Год назад

      잘 부탁드립니다. 개정판 강의가 있으므로 개정판 강의를 참고해주세요! 이 개정 이전판 강의는 곧 개정판 강의 완강하면 비공개 처리할 예정입니다!

    • @파이썬-d5s
      @파이썬-d5s Год назад

      @@윤인성 아 다행이네요 걱정했는데 어제 온 책도 개정판이네요. 그럼 개정판 강의 기다릴게요~! 설명을 쉽게 잘해주셔서 감사해요^^ 저자가 답글주시니 좋네요^^

  • @공드리-z4o
    @공드리-z4o 2 года назад

    안녕하세요!
    강의 잘 듣고 있습니다. 질문이 하나 있는데요
    x=2
    y=10
    if x>4:
    if y>2:
    print(x*y)
    else:
    print(x+y)
    라는 코드를 입력했는데 결과가 아무것도 안 나오는 건 왜 그럴까요?

    • @윤인성
      @윤인성  2 года назад

      x>4에서 이미 조건이 False 이므로 if 조건문 안으로 들어가지 않습니다. 참고로 개정판 강의가 있으므로, 개정판 강의를 보시는 것을 추천드립니다![훨씬 자세하고 깁니다!]
      PS. 아직 후반부를 안 찍어서 개정 이전판 강의를 유지하고 있을 뿐입니다!

  • @hermeskim11
    @hermeskim11 3 года назад

    감사합니다.

  • @lIlIlIlllIIIlIlI-g1q191
    @lIlIlIlllIIIlIlI-g1q191 2 года назад

    안녕하세요 강의 잘보고있습니다. 리스트도 input처럼 안에 들어간것은 모두 문자열이 되나요?

    • @lIlIlIlllIIIlIlI-g1q191
      @lIlIlIlllIIIlIlI-g1q191 2 года назад

      어디선가 str로 바꾸는 코드를 본것 같아서 여쭤봅니다

    • @윤인성
      @윤인성  2 года назад

      리스트는 그냥 넣은대로 들어갑니다!

  • @박종환-f4g
    @박종환-f4g 2 года назад

    리스트 안에 문자나 숫자가 하나만 들어가도 리스트라는 개념이 성립하나요 ? 아니면 하나만 들어가면 안되나요 ?

    • @윤인성
      @윤인성  2 года назад

      하나만 들어가도 리스트입니다!

    • @박종환-f4g
      @박종환-f4g 2 года назад

      혹시 이유가 있을까요 ? 예를들어서 리스트에 하나만 넣고 프로그램을 실행했을 때 올바르게 출력된다든지 같은 이유요 ! 궁금합니다

    • @윤인성
      @윤인성  2 года назад

      문법에서 이유를 찾는 것은 불가능합니다.
      - 영어 알파벳A를 왜 "에이"라고 읽는가?
      - 왜 영어는 주어 동사 목적어 순서로 쓰는가?
      하면 여기에는 이유가 없습니다.
      값을 하나만 갖는 리스트도 그냥 될 뿐입니다.
      이걸 안 되게 만들어야 할 이유가 그냥 없어서 되는 것 뿐입니다.
      그래도 아마 "이걸 어따쓰지?"라고 생각하셔서 질문하신 것 같아서, 여기에 대답을 드리면, 리스트는 이후에 요소를 추가할 수 있습니다.
      그래서 예를 들어서 "할 일 목록" 애플리케이션을 만든다면
      일단 처음 실행할 때는 할 일 목록에 할 일이 없을테니
      빈 리스트일 것입니다.
      할 일 하나 추가하면, 리스트에 요소가 1개가 될 것입니다.
      [또 추가하면 2개가 되겠지요]
      그래서 요소가 하나인 리스트도 사용합니다.
      현재는 너무 기본적인 수준이라, 하나하나의 요소에서 어떤 "납득할만한 이유"를 찾으려고 하시기 보다, 일단 그냥 외워버리시는걸 추천드립니다![이해는 이후에 설계, 알고리즘 등으로 넘어가면 그때 해야 합니다!]

  • @이상봉-m6x
    @이상봉-m6x 4 года назад +5

    수없이 많은 파이썬 기초강의를 찾아봤지만 모두 수강한지 얼마 안되어 포기했었습니다. 그런데 이 강의만큼 입문자(초보자 아님)를 배려해 주는 강의는 처음입니다. 18강까지 잘 따라왔네요. 매일 강의만 보며 연습하다가 너무 감사해서 처음 댓글 남겨봅니다. 집필하신 책도 꼭 봐야겠네요.^^

    • @윤인성
      @윤인성  4 года назад

      감사합니다!!! 😍

  • @esther-ow1hz
    @esther-ow1hz 4 года назад

    교수님 안녕하세용 ㅎㅎ 오늘 강의 보고 공부해보다가, 리스트 안에 True를 넣으셨길래, 저건 왜 " " 이렇게 묶지 않아도 괜찮은걸까 궁금해져서, 인터렉티브 쉘에 이렇게 넣어봤어요.
    >>>c=[int, str, type, True, print]
    >>>c[0]
    >>>c[1]
    >>> c[2]
    >>> c[3]
    True
    >>> c[4]
    # 질문1) 왜 True는 그냥 True 인데, int는 , print는 이런 식의 결과가 나올까요~? '0')?
    # 질문 2) 그리고 if 라던지 in, pass 이런 값들은 리스트 안에 넣으면 에러가 나네요. 어떤 아이들이 리스트 안에 " " 없이 들어갈 수 있는건가요?
    # 질문 3) 인터렉티브 쉘에서는 잘 수행되는 코드가, 명칭을 모르겠는데.. 편집기? 그 인터렉티브쉘 위에 1 2 3 숫자가 생기는 평소에 줄코드를 입력하는 그 부분에서 작성하고, 인터렉티브쉘에서 PS C:\혼자공부하는파이썬> python moong.py를 쓰고 엔터치면, 그냥 아무 반응없이 다시 PS C:\혼자공부하는파이썬> 이렇게 나와요. 그래서 일부러 위에 코드에 들어가서 에러를 냈더니, 에러내용은 또 바로 표시가되요. 이유가 뭘까요..?!

    • @윤인성
      @윤인성  4 года назад

      1. 이후에 살펴보는 클래스에서, 그 아이들의 __str__() 함수에서 그런 값을 리턴하는 것입니다.
      2. in과 pass는 키워드이기 때문입니다. 데이터(자료)만 리스트 안에 넣어서 다룰 수 있습니다.
      3. PS ~~>는 PowerShell의 약자입니다. 이곳은 파워쉘입니다. 파일에서는 print()를 해야만 출력됩니다. 출력을 하지 않으면 아무 것도 출력하지 않습니다.

  • @aaron-kim00
    @aaron-kim00 3 года назад

    Thanks

  • @amrkorea
    @amrkorea 5 лет назад +1

    안녕하세요. 실행하면서 설명하는 강의 유익하게 잘 보고 있습니다. 덕분에 조금씩 자신감이 생기네요. 한가지 궁금한건 제가 웹사이트에 있는 업체의 이메일과 홈페이지주소를 스크래핑으로 수집하고 싶은데요,
    파이선으로 아래처럼 가능한가요?
    1. 구글에서 어떤 키워드를 입력
    2. 검색 결과에 나온 링크를 하나씩 눌러서 나타나는 웹페이지의 홈페이지 주소, 이메일을 수집한다.
    3. 구글 검색결과의 다음 링크를 클릭해서 2번의 순서를 반복한다.
    4. 이런 방식으로 이메일과 홈페이지 주소를 계속 수집(종료조건을 넣어서 중단하거나, 검색결과 마지막까지 실행 후 종료)
    이렇게 하는게 가능한가요?

    • @윤인성
      @윤인성  5 лет назад +2

      넵 어떤 프로그래밍 언어를 사용해도 당연히 가능한 내용입니다...! 현재 하고 싶은 것을 순서로 완벽하게 나타내실 수 있기 때문에 현재 이 계정에 있는 "머신러닝 딥러닝 실전 개발 입문"이라는 강의의 앞부분(requests 모듈과 BeautifulSoup 모듈)만 보셔도 하실 수 있을 것 같습니다.
      1. requests 모듈로 구글 검색
      2-1. 링크를 BeautifulSoup로 추출
      2-2. requests 모듈로 링크를 또 타고 들어감
      2-3. 정규표현식으로 이메일 주소처럼 생긴 것("글자@글자.글자" 정도)를 수집
      2-3. 2-2번으로 돌아가서 반복
      해주시면 됩니다 'ㅁ' ...!

  • @hongstmin
    @hongstmin 3 года назад

    >>> a = ["수박","바나나","사과"]
    >>> a[0]
    '\xec\x88\x98\xeb\xb0\x95'
    윈도우에서는 문제 없었는데요.
    Mac 변경 하고 문제가 발생 했어요. VS코드 사용하는 중이구요. 엔코딩은 UTF-8 설정은 되 있는데요.
    선생님~ 왜 그럴까요?

    • @윤인성
      @윤인성  3 года назад +1

      맥에서는 python 명령어 대신 python3 명령어를 사용해주세요!

    • @hongstmin
      @hongstmin 3 года назад

      @@윤인성 감사합니다. 선생님~

  • @---hy1gc
    @---hy1gc 3 года назад

    안녕하세요 인성님 강의 정말 잘 듣고 있습니다..!
    인성님께서 제시해준 문제는 아니지만
    리스트의 sort()함수를 배우다가 의문이드는 점에 대해서 질문드리고 싶습니다...
    a = [1, 3, 5, 4, 2]
    b = a.sort()
    print(b)
    위와 같이 실행하면
    [1, 2, 3, 4, 5]가 아니고
    왜 None이라는 결과가 나오는 것일까요..??

    • @윤인성
      @윤인성  3 года назад

      sort는 파괴적 함수라서 a 자체를 변경시킵니다!
      따라서 print(a)로 a를 출력하셔야 합니다!

    • @---hy1gc
      @---hy1gc 3 года назад

      @@윤인성 아하 파괴적/비파괴적 함수 때문이었군요..!!
      append() 함수도 파괴적 함수라고 해서
      append() 함수로도 실험을 해보니 None이라는 결과가 나오더라구요!!
      이해가 잘 되었습니다 정말감사합니다!!

  • @hungyun87
    @hungyun87 5 лет назад +5

    최고의 강의 감사합니다~!!

  • @wjdwlans1
    @wjdwlans1 5 лет назад +1

    항상 감사합니다 열심히 공부중이에요

  • @김민규-b8p9z
    @김민규-b8p9z 3 года назад

    앞의 챕터들에서는 문자열을 print로 불러내면 작은따옴표 없이 출력이 됐었는데, 이번 리스트챕터에서는 왜 작은따옴표가 붙어서 나오는걸까요?

    • @윤인성
      @윤인성  3 года назад

      리스트를 출력하는 것이라 그렇습니다[리스트가 그냥 그렇게 출력됩니다]

  • @cheekocho
    @cheekocho 3 года назад

    정말 귀에 쏙쏙 박힙니다.. 명강의 감사합니다 !!

  • @strgrslab1475
    @strgrslab1475 3 года назад

    인성쌤 안녕하세요! 질문 있습니다.
    vscode에서
    list = [[1, 2, 3], [4, 5, 6]]
    b = list[1][2]
    print(b)
    이 코드를 실행하면 SyntaxError: invalid syntax 가 발생하고
    파이참에서 실행하면 정상적으로 6을 출력합니다. 혹시 이유를 여쭤봐도 될까요? 이거 때문에 vscode에서 파이참으로 갈아타야하나 라고 생각 중입니다..

    • @윤인성
      @윤인성  3 года назад

      에디터(VSCode, 파이참)은 코드를 작성만 하는 녀석이고
      코드 실행은 파이썬 실행기가 하는거라 둘 다 똑같은 녀석으로 실행됩니다.
      VSCode에서도 문제 없는 코드인데
      - 오류 전체를 올려주시거나
      - 파일을 저장하고 실행해보시기 바랍니다!

    • @strgrslab1475
      @strgrslab1475 3 года назад

      ​@@윤인성 쌤 감사합니다. 컴퓨터를 다시 껐다 켜보니까 제대로 됩니다. 그리고 pylance 확장 설치해주니까 문법도 잘 잡아주어서 파이참 보다 가벼운 vscode를 쓰기로 했습니다. 사실 처음에 쌤 책으로 공부하다가 여기저기 파이썬 입문 유료강의도 몇 개 구매해보고 했는데 결국은 혼공파 강의가 제일이더라고요. 중간 중간 마이너한 감성의 드립도 너무 좋고요. 앞으로도 좋은 강의와 책 부탁드릴게요 ㅎㅎ 그리고 제가 노드js 도 같이 공부하려고 준비 중인데 혹시 이전에 나온 책 개정 예정 있으신가요? 지금 보기엔 출판한지 꽤 된 것 같아서요. 항상 감사드립니다.

    • @윤인성
      @윤인성  3 года назад

      개정은 준비 중인데 😂.... 업무가 너무 쌓여서 내년 초에나 개정할 것 같습니다 😂....

  • @yurena_JWL
    @yurena_JWL 4 года назад

    안녕하십니까.. 파이썬 공부를 뒤늦게 하고 있습니다.인터렉티브셀안에서 컨트롤+C 적용이 안 되던데. 어떻게 하면 위 행에서 썼던 내용을 다시 복사 할 수 있는지요?

    • @윤인성
      @윤인성  4 года назад

      방향키 위를 누르시면 됩니다!

    • @yurena_JWL
      @yurena_JWL 4 года назад

      @@윤인성 가르쳐 주셔서 감사합니다.

  • @sounghwanhwang5422
    @sounghwanhwang5422 4 года назад

    항상 좋은 강의 감사드립니다.

  • @suhyeonlee6136
    @suhyeonlee6136 4 года назад

    안녕하세요! 하나 질문이 있습니다.
    list = [["a","b"] ,["c","d"] ,["e","f"]]
    x = "b" in list
    print(x)
    이 코드를 실행하니 b가 리스트 안에 있는데도 False가 나오네요.
    어떻게 True가 나오게 하려면 어떻게 수정해야할까요?

    • @윤인성
      @윤인성  4 года назад

      내부의 내부에 있는 것은 판단할 수 없습니다. in을 쓰려면 한 단계로 된 리스트여야 한다고 생각하몈 될 것 같습니다.
      list = ["a", "b", ..., "f"]처럼 작성해주셔야 합니다.

    • @dreamworld5481
      @dreamworld5481 4 года назад

      x="b" in list 를 x="b" in list[0] 로 수정하시면 True로 출력됩니다

  • @류상서
    @류상서 5 лет назад +1

    수고 하셨습니다
    좋은 하루 되세요^^
    감사 합니다.

  • @안주영-m7b
    @안주영-m7b 4 года назад

    귀에 쏙쏙 잘 들어오는 선생님의 강의 덕에 벌써 1/3 왔네요.
    프로그래밍 처음이고 관련 학과가 아니라서 걱정했는데
    너무 상세하게 설명해주시고 이렇게 좋은 강의를 무료로 제공해주셔서 감사합니다.

  • @불티나-t4l
    @불티나-t4l 5 лет назад +1

    더욱더 집중해야겠네요!

  • @user-sv1qq5ld6o
    @user-sv1qq5ld6o 4 года назад

    좋은강의 정말감사합니다

  • @DailySangmin
    @DailySangmin 5 лет назад +1

    강의 잘 보고 있습니다! 숫자나 글자를 입력하실 때 띄워쓰기를 한 칸씩 하시는데 ex) [1, 2, 3] 만약 [1,2,3] 라고 했을 때 나중에 문제되는 게 있나용?? 지금 당장엔 에러가 안뜨지만 왠지 불안해서 댓글달아봅니다

    • @윤인성
      @윤인성  5 лет назад

      전혀 없습니다...! 보기 편하게 입력하시면 됩니다...!

  • @화건
    @화건 4 года назад

    정말 아무것도 몰랐던 코딩 쉽게 설명해주셔서 늘 감사해 하고 있습니다 👍🏼

  • @michaelkim733
    @michaelkim733 4 года назад

    선생님... 혹시 두 변수의 값을 바꿀때 임시공간 설정하는거 어디서 가르쳐 주셨었죠...? 커피랑 홍차 (우유였나...)예시로 들어주셨던거로 기억하는데 .. 아무리 찾아봐도 어디서 봤는지 못찾겠습니다. 그리고 혹시 임시공간 안만들고 x,y=y,x 이런식으로 변경하는 것도 가능한가요?

    • @윤인성
      @윤인성  4 года назад

      앗 저도 기억은 못하는데 연습문제로 살펴보면 찾으실 수 있을 것 같습니다 😭. 변경은 임시 변수 없이 지금 써주신 형태로도 됩니다.

  • @seungmin1899
    @seungmin1899 4 года назад

    인덱싱[ ] 에서 [ 1:3 ] 하면 1, 2 자리 문자열이 출력되는데, 음수를 사용할 경우 (예: [-1:-3])에는 그냥 [ ] 이렇게 출력되고 마는데요. 인덱싱에서 ":"기능은 양수에서만 적용되는건지요? 그럼 음수로 같은 기능을 구현하려면 다른 방법이 있는건가요?

    • @윤인성
      @윤인성  4 года назад

      슬라이싱은 [인덱스앞쪽:인덱스뒷쪽] 형태로 써야하며, 무조건 순서대로 읽습니다. "안녕하세요"가 있을 때 -1은 "요", -3은 "하"이므로, 요에서 하로 순서대로 읽을 수 있는 방법이 없어서 아무것도 안 나옵니다(반대로 [-3:-1]은 가능합니다).

  • @loysa2373
    @loysa2373 5 лет назад

    강의 잘 듣고 있습니다. 항상 감사드립니다..!!궁금한게 하나 있는데요,a="문자열"print( "문" in a) 하면 True가 나오는데a=["문자열"]print("문" in a) 와 같이 리스트안의 글자를 찾을땐 False가 나옵니다.. 왜 그런거죠?ㅠㅠ

    • @윤인성
      @윤인성  5 лет назад +1

      리스트 내부에 "문"이라는 요소가 없기 때문입니다...! a = ["문", "자", "열"]로 되어 있어야 찾습니다...!

    • @갈가마구
      @갈가마구 3 года назад +1

      a=[ "문자열" ]
      이라고 하시면, 이중 중첩된 리스트로 인식 됩니다.
      따라서 원하는 결과를 얻으시려면
      print( '문' in a[0] )
      이라고 하면 됩니다.

  • @osreo77
    @osreo77 3 года назад

    2021년 3월 10일 수강완료

  • @조성현-q4l
    @조성현-q4l 4 года назад

    in이랑 not in 책에 없는 줄알고 놀랏는데 뒤쪽에 나오네요 ㅋㅋㅋ

  • @jin-whoanlee7412
    @jin-whoanlee7412 Год назад

    어쨌거나 강의전달력이 너무 좋아서 개념 빌드업이 착착 잘 되네요.

  • @정honey
    @정honey Год назад

    재밌어요~

  • @lifeispain2
    @lifeispain2 4 года назад

    반복문 다시 강의 듣네요.ㅠ_ㅠ.

  • @JieunKim-c9n
    @JieunKim-c9n 2 года назад

    진짜 들으면서 개념도 완전 잘 잡히고 아하~! 하게 되는 부분이 엄청 많아요! 앞으로 더 좋은 프로그래머가 되기 위해 노력하겠습니당ㅎㅎ

  • @고재훈-r6e
    @고재훈-r6e 2 года назад

    교수님 파이썬 강의가 이해하기 힘들었는데 덕분에 이해했습니다.

  • @zeyoung1983
    @zeyoung1983 2 года назад

    어쨌거나 출첵!

  • @fortemezzo4449
    @fortemezzo4449 Год назад

    좋은 강의 감사합니다

    • @윤인성
      @윤인성  Год назад

      앗 현재 이 강의는 개정판 강의가 있으므로 개정판 강의를 보시는 것을 추천드립니다!