파이썬18 파이썬 | 리스트 생성, 생성과 동시에 크기지정 파이썬에서 빈 list를 생성하고 for문과 input함수를 통해 원소를 입력하려고 할 때, lst = list() for i in range(0,9): lst[i] = input() IndexError: list assignment index out of range 이렇게 인덱스에러가 나면서 입력이 정상적으로 되지 않는다. 잘 생각해보니까, 리스트라는게 생기기만 했지, 크기를 지정 해 주지 않아서 그런거 같은 느낌이었다. 크기를 생성과 동시에 지정해 주는 방법은 간단하다. lst = list(0 for i in range(0,9)) 이런식으로 크기를 지정 해 주면 된다. lst = list(0 for i in range(0,9)) for i in range(0,9): lst[i] = input() fo.. 2020. 3. 15. 파이썬 | map 함수를 쓰고, []로 접근하고 싶을 때 내가 예전 글에서 map을 사용해서 여러개를 입력받아, 바로 리스트에 저장하는 코드를 쓴 적이 있다. [코딩/python3] - 파이썬 | 입력을 받고 바로 리스트에 집어넣어 보자. 파이썬 | 입력을 받고 바로 리스트에 집어넣어 보자. 역시 백준 알고리즘을 풀던 중, 여러 개의 숫자를 띄어쓰기 기준으로 한번에 입력받아서 저장 할 방법이 필요했다. 군대가기 전 배운걸 생각해 봤을때, 여러 개의 숫자를 저장할 자료형은 list를 쓰면 될것 같았다.. god-gil.tistory.com 코드는 아래와 같다. lst = map(int, input().split()) 하지만 이것을 사용해서 lst의 원소에 [] index로 접근하려면 lst = map(int, input().split()) print(lst[1].. 2020. 3. 15. 파이썬 | for문과 print문 사용 시, 줄바꿈을 안하고 싶을때 for문을 사용해서 결과를 여러 개 출력해야하는 경우가 있다. 문제에서 요구하는 조건이 줄바구면서 하나하나 출력해주는 것이면 그냥 사용하면 되는데, 이번에 풀었던 문제가 "띄어쓰기"를 기준으로 출력하라는 것이였다. 역시 나는 기억이 나지 않았다. 원래 for문을 사용해서 print를 해 주면 아래처럼 나오게 된다. result = [1,2,3] for c in result: print(c) 1 2 3 Process finished with exit code 이걸 바꾸고 싶으면 아래와 같이 하면 된다. print(출력값 , end=' ') 처럼 따옴표 구분하고싶은 문자를 넣으면 된다. result = [1,2,3] for c in result: print(c,end= ' ') 1 2 3 Process fi.. 2020. 3. 15. 파이썬 | 입력을 받고 바로 리스트에 집어넣어 보자. 역시 백준 알고리즘을 풀던 중, 여러 개의 숫자를 띄어쓰기 기준으로 한번에 입력받아서 저장 할 방법이 필요했다. 군대가기 전 배운걸 생각해 봤을때, 여러 개의 숫자를 저장할 자료형은 list를 쓰면 될것 같았다. 하지만, 띄어쓰기를 기준으로 한번에 입력받을 수 있는 방법이 기억이 나지 않아. 찾아보았다. 역시 답은 너무너무 간단했다. lst = list() lst = input().split() 그냥 리스트를 만들어 주고, input().split()을 사용하면 알아서 파이썬에서 입력받은 크기만큼 리스트를 만들어 줬다. 입력 받자마자 정수형으로 바꾸고싶으면 lst = map(int,input().split()) 이렇게 사용하면 된다. 2020. 3. 15. 파이썬 | 입력을 더 빠르게 받아보자. 백준 알고리즘에서 문제를 풀다가, 처음보는 내용이 있어서 기록으로 남겨본다. 아래 링크에서 나온 내용인데, https://www.acmicpc.net/problem/15552 요약하면 for문에서 숫자 두개를 받아서 바로바로 덧셈결과를 출력해주는 문제이다. 하지만 여기서 숫자를 입력받을때 input()을 쓰게되면 입력받는 시간이 초과되어버린다. 이 것을 해결하기 위해서는, 다른 방법을 사용해야 한다고 한다. import sys num = input() num = int(num) for i in range(num): a,b = map(int, sys.stdin.readline().split()) print(a + b) 이런식으로 sys.stdin.readline() 을 input대신에 사용 할 수 있다고 .. 2020. 3. 15. 이전 1 2 3 4 다음