본문 바로가기
Etc./Python

[Python] list 나름 정리

by ahj 2021. 10. 10.

https://programmers.co.kr/learn/courses/4008/lessons/12836

 

파이썬을 파이썬답게 - 순열과 조합 - combinations, permutations

본 강의는 파이썬 문법을 이미 알고 있는 분들을 대상으로 만들어졌습니다. ##### 이런 분들께 추천합니다 * 파이썬 문법을 알고 계시는 분 * 알고리즘 문제를 조금 더 쉽게 풀고 싶은 분 * Python 코

programmers.co.kr

순열 구현 아무리 생각해도 못하겠어서 일단 모범답안(?)으로 주는 코드를 봤는데 전혀 와닿지가 않지만 읽어보려고 하던 중

알 수 없는 기호 arr[:]가 나타났다 도대체 뭘까 싶어서 열심히 구글링 해봤고

https://stackoverflow.com/questions/35713891/what-is-the-meaning-of-arr-in-assignment-in-numpy

 

What is the meaning of arr[:] in assignment in numpy?

I occasionally use numpy, and I'm trying to become smarter about how I vectorize operations. I'm reading some code and trying to understand the semantics of the following: arr_1[:] = arr_2 In thi...

stackoverflow.com

https://blockdmask.tistory.com/425

 

[python] 파이썬 리스트(list) 정리 및 예제 (1탄 기본편)

안녕하세요. BlockDMask 입니다. 오늘은 파이썬 리스트(list) 자료형에 대해서 정리를 해보려고 합니다. 일련의 여러 값들을 다룰 때 편하게 사용할 수 있는데요. 리스트에 접근하는 방법, 값을넣고

blockdmask.tistory.com

이 두곳에서 일단 간단히 이해해보았다

 

우선, 그냥 a=arr[:]의 의미는 리스트 맨앞부터 맨뒤까지 슬라이싱, 즉 그냥 item들 복사하는 느낌이다.

그럴거면 그냥 a=arr해도 되지 않나? 싶지만 numpy는 어떻게 다른지 정확히는 모르겠지만 so 설명에 따라 이해를 해보자면

 

예를 들어

arr1=[1,2,3]

arr2=[4,5,6]

일 때

그리고 arr1의 주소가 4595568512

arr2의 주소가 4595566192일때

arr1[:]=arr2를 하면

arr1=[4,5,6]이 된다.

하지만 arr1의 메모리 주소는 원래 그대로 유지가 된다.

arr1의 주소는 4595568512 그대로다

 

하지만

arr1 = arr2

는 주소 복사가 되는 듯하다. 이렇게 되면

arr1의 주소가 4595566192가 된다.

'Etc. > Python' 카테고리의 다른 글

[Python] collections- Counter  (0) 2021.10.11
[Python] itertools-2  (0) 2021.10.10
[Python] itertools  (0) 2021.10.10
[Python] join  (0) 2021.10.10
[Python] zip  (0) 2021.10.10

댓글