[python] 파이썬 공부하기 - 집합 자료형_list 리스트형

[python] 파이썬 공부하기 - 집합 자료형_list 리스트형

2022. 9. 5. 23:31페퍼씨의 자기계발/페퍼씨와 파이썬

728x90
반응형

안녕하세요, 페퍼씨입니다.

 

* 집합 자료형
데이터를 여러 개 저장 가능여러 개의 데이터를 모아서 저장 , 여러개의 자료를 하나로 묶어 한 번의 호출로 여러 자료를 한번에 불러옴
- list 리스트
- tuple 튜플
- dic 딕셔너리
- set 세트

 

집합자료형에는 리스트, 튜플, 딕셔더리, 세트 형으로 나눌 수 있는데, 그중에 리스트형에 대해 먼저 알아보겠습니다.

 

1) 리스트 자료형

  • 대괄호를 사용하여 "[ ]" 묶어 줌
  • 임의의 객체(값)을 순차적으로 저장하는 집합적 자료형(Sequence(순차적) Data) : 순차적으로 저장한다는것은 인덱스를 사용할 수 있다는 의미
  • mutable 변경 가능한 자료형, 수정이 가능하다는 의미

 

리스트 안에 또 리스트를 넣어 값을 관리할 수 있습니다.

단 리스트 안에 들어있는 리스트에 있는 자료를 꺼내기 위해선 인덱스를 활용해 찾아내야 합니다.

 

복사의 종류에는 얕은 복사와 깊은 복사가 있는데 이 둘은 큰 차이가 있습니다.

 

얕은 복사는 일시적으로 값을 할당해주는 것이라  데이터 본연의 값은 변하지 않고 주소만 잠시 가지는 것입니다.

따라서 얕은 복사의 경우 복사한 데이터의 값을 수정하면 원본의 데이터도 바뀌게 되어 같은을 가집니다.

 

 

깊은 복사는 데이터를 어딘가 다른 주소에 그대로 복사해주고, 그 값을 바꿔 사용 할 수도 있습니다. 

따라서 깊은 복사의 경우 복사한 데이터의 값을 수정하면, 원본과 복사본은 다른 데이터 값을 가집니다.

 

copy()함수를 사용해서 값을 바꿔 줄 경우 원본의 데이터 값은 변하지 않고,

값을 바꿔준 변수에만 바뀐 값이 할당되게 됩니다.

 

코드를 만들다보면 받아온 데이터를 리스트에 저장하게 될 일이 생기는데, 이때 미리 빈 리스트를 만들어두고 리스트형으로 자료를 받을 것을 암시할 수 있습니다.

 

- 초기화 initializer

 

print(type())을 통해 각 자료형의 타입을 바꿔줄 수 있습니다.

리스트는 여러 개의 값이 있어야 하므로 데이터가 한 가지 값만 가지고 있을 경우 리스트로 바꿀 수 없지만,

 

한 가지 값이라도 문자형으로 가지고 있었다면 리스트로 받을 수 있습니다.

 

또한 리스트는 연산이 가능합니다. 이때는 문자형으로 바꿔 연결해 줘야 합니다.

또한 리스트 내에서 순서대로 데이터를 정리 해 줄 수도 있습니다.

sort() 는 작은수에서 큰 수로 오름차순으로 정렬해 주고,

reverse() 는 큰 수에서 작은수로 내림차순으로 정렬해줍니다.

 

이 함수를 활용한다면 최소값과 최대값을 찾는데 유용하게 쓰일 수 있습니다.

또한 a = [ ] 라는 리스트가 있을 때

a.sort()는 원본의 순서도 바뀌어 데이터 고유의 값은 사라지고 새로운 값을 갖게되지만

print(sort(a))의 경우는  데이터 고유의 값에 영향을 주지 않고 출력만 정렬하여 보여줍니다. 

 

이 점을 유의해서 사용해야 할 것입니다.

 

728x90
반응형