python 8

파이썬 set, split, enumerate 정리

set의 경우 리스트의 중복을 없애준다 report = ["a", "b", "c", "a"] report = set(report) print(report) -> {'b', 'a', 'c'} split의 경우 한 문자 내에서 공백을 기준으로 문자를 배열화 시킨다. report = ["a b", "b c", "c d", "a b"] reported = [x.split()[1] for x in report] print(reported) ->['b', 'c', 'd', 'b'] enumerate의 경우 몇번째인지 tag를 달아둔다고 생각하면 편한데 예를 들어, arr = ["a", "b", "c"] 라는 리스트가 있고 a, b, c를 각각 1, 2, 3번째라고 지정할 때, 우리는 이것으로 지정하는 것으로 끝나는..

python 2022.08.10

파이썬 2차원 배열 초기화시 주의할점

파이썬에서 2차원 배열을 초기화할 때 a=[0]*3 a[1]=1 print(a) # [0,1,0] 다음과 같이 당연해 보이지만 2차원 배열의 경우 a=[[0]*3]*3 a[1][1]=1 print(a) # [[0, 1, 0], [0, 1, 0], [0, 1, 0]] 한 행을 객체로 인식하기 때문에 모든 행을 같은 객체로 바꿔버린다. a=[[0]*3 for _ in range(3)] print(a) # [[0, 0, 0], [0, 0, 0], [0, 0, 0]] a[1][1]=1 print(a) # [[0, 0, 0], [0, 1, 0], [0, 0, 0]] 다음과 같이 초기화해야 원하는 값만 변경할 수 있다. a=[[0]*3]*3 a[1][1]=1 print(a) # [[0, 1, 0], [0, 1, 0..

python 2022.02.11

파이썬 문자열과 리스트의 차이

문자열과 리스트는 거의 동일하다고 볼 수도 있다. 하지만, 문자열은 인덱스에 따라 값을 수정할 수 없다는 차이점이 있다. 즉, a= "ABC"라고 할 때, a[1]="D"라고 하면 type오류가 발생한다. 따라서 a를 "ADC"와 같게 바꾸려면 다양한 방법이 있겠지만 List comprehension을 통해 리스트로 전환한후, 다시 합치는 방법이 있겠다. 리스트 컴프리헨션을 이용하면 a="ABC"에서 a= [x for x in a] 와 같이 바꿔줄 수 있고 a= ["A", "B", "C"]와 같이 바뀐다. 즉, 이제는 a[1]="D"와 같은 수정이 가능해진 것이다! 다시 a를 "ADC"로 만들려면 join함수를 이용해야 하는데 "".join(a)와 같이 하면 된다. ""는 원소 사이 공백을 의미한다.

python 2022.01.29