Search

반응형

'프로그램'에 해당되는 글 8건

  1. 2020.10.04 [HOW]파이썬 프로그래밍 리스트 사용하는 방법, Python Lists -왕초보
  2. 2020.10.03 [HOW]파이썬 프로그래밍 함수 사용하는 방법, Python Programming Methods. -왕초보
반응형

안녕하세요. 신기한 연구소입니다.

이번 포스팅은 리스트(Lists)에 관련된 내용입니다.

배열과 비슷하고 자바의 컬렉션 같은 파이썬의 리스트는 어떻게 만들고

어떤 식으로 활용하는지 알아볼게요

 

우선 다양한 데이터 타입을 활용할 수 있는 파이썬에서 데이터를 그룹화해서 사용할 수 있는데

바로 리스트(Lists)입니다.

리스트는 대괄호 [ ] 안에 콤마(, )로 구분해서 사용합니다.

심플하네요.

그리고 꼭 같은 타입이 아니어도 하나의 리스트를 구성할 수 있습니다.

그러나 보통은 같은 데이터 사용한답니다.

 

sampleList를 보면 대괄호 [ ]로 구성되며 포함되는 데이터 타입은

숫자, 문자, 특수문자에 다른 리스트 형식까지 가능합니다.

리스트 안에 또 리스트를 구성하고 그 리스트 안에 또 리스트를 넣을 수 있고

무한대로 계속 넣을 수 있지만 한 레벨씩 들어가면 사용하기 힘들기에 

한 단계 정도만 사용하면 될 듯하네요.

리스트는 데이터 그룹으로 순서에 의해 저장이 됩니다.

그래서 인덱스(index)를 사용할 수 있답니다.

마치 배열처럼 사용할 수 있네요.

0번 인덱스는 1, 3번 인덱스는 'a'가 나왔습니다.

재미있는 부분은 6번 인덱스를 호출하니 내부 리스트가 통째로 조회가 되었습니다.

그 내부 리스트의 상세 값을 확인하기 위해서 sampleList[6][0]을 사용했습니다.

sampleList[6]번째를 선택하면 내부 리스트가 지정되고

그 내부에서 [0]번째를 선택하라는 의미가 된답니다.

인덱스 -1은 리스트의 가장 마지막 값을 출력합니다.

[:3]은 처음부터 3번 인덱스 직전(2번 인덱스겠죠?) 값들을 출력합니다.

[2:]은 2번 인덱스부터 리스트 끝까지 출력합니다.

[2:4]는 2번 인덱스부터 4번 앞인 3번 인덱스까지의 값을 출력합니다.

[:]는 전체를 출력합니다. 사용법이 간단하네요.

 

리스트에 +를 하면 해당 리스트에 값이 더해져서 출력됩니다.

하지만 다시 리스트를 조회하면 원상태로 되어 있네요.

또한 listA[0]에 값을 할당하니 실제 리스트의 값이 변경됨을 확인할 수 있습니다.

append를 사용하니 마지막에 값을 추가해줍니다.

listA[5:6] = []을 사용하니 해당 범위의 값을 제거하네요.

하지만 범위가 아닌 listA[5] = []를 사용하니 오히려 해당 위치에 빈 리스트를 

만드는 현상이 발생합니다.

listA[:] = []를 사용하니 해당 리스트의 모든 값을 삭제하게 됩니다.

 

append는 리스트의 가장 마지막에 붙입니다.

하지만 중간에 값을 삽입하고 싶다면 index를 사용하면 됩니다.

index(데이터를 넣을 인덱스 값, 넣을 데이터 값)

insert(3, 9)는 3번째 인덱스 자리에 9를 넣는다는 의미입니다.

len은 리스트 값의 개수를 출력합니다.

주의할 점은 위 값은 6개이고 마지막 인덱스는 5입니다.

len은 인덱스 값인 5가 아니라 6을 출력한답니다.

리스트를 구성해서 그 리스트를 값으로 구성하는 새로운 리스트를 만들 수도 있네요.

리스트를 잘 활용하면 다양한 데이터 구성을 그룹화해서 사용할 수 있겠네요.

 

sort()는 해당 리스트 값을 정렬합니다.

숫자는 숫자로 문자는 문자로.. 잘 정렬하네요.

reverse()는 리스트 순서를 뒤집는 겁니다.

1, 2, 3, 4, 5 는 5, 4, 3, 2, 1로 바뀐답니다.

 

remove(삭제할 값)는 해당 리스트에서 첫 번째로 나타난 해당 값을 찾아서 삭제해줍니다.

같은 값이 2개 있으면 첫번째 값만 삭제하기에 나머지 하나는 그대로 있게 됩니다.

pop()는 리스트의 가장 마지막 값을 출력한 뒤 삭제합니다.

꺼내 쓰기 기법이네요.

pop(index)는 지정한 인덱스의 값을 출력하고 해당 리스트에서 삭제합니다.

이 메서드는 실전에서 유용하게 사용할 수 있겠네요.

extend는 확장이라는 뜻인데 리스트 값을 추가하는 기능입니다.

추가 후 조회하면 그대로 저장이 되어 있음을 확인할 수 있네요.

이번 포스팅의 마지막 메서드입니다.

count(찾을 값)인데요.

찾을 값이 해당 리스트에 있으면 몇 개가 일치하는지 수치로 알려줍니다.

(3)을 넣으니 해당 값이 없기에 0을 출력하고

('a')를 넣으니 1개의 'a'를 찾아서 1을 출력합니다.

지금까지 파이썬 프로그래밍에서 사용하는 리스트에 대해 알아봤습니다.

잘못된 정보나 수정이 필요하면 댓글 주세요.

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

반응형
반응형

안녕하세요. 신기한 연구소입니다.

매일매일 파이썬(Python) 프로그래밍을 공부하니 시간이 엄청 빨리 가네요.

어떤 프로그래밍 언어라도 내부적으로 편리하게 사용할 수 있는 함수는 있습니다.

메서드라고도 하는데요.

파이썬(Python) 튜토리얼에서는 Methods라고 하니 메서드라 불러 봅니다.

메서드가 많지만 유용하게 사용할 만한 몇 가지를 테스트해보겠습니다.

프로그래밍은 반드시 직접 한 번은 코딩을 해봐야 좋답니다.

 

capitalize()

문자열. capitalize()는 위 예제를 통해 확인해봤습니다.

s가 'a'일 때 이 메서드를 사용하니 대문자 'A'로 결과가 나왔습니다.

그럼 소문자를 대문자로 바꿔주는 메서드일까요?

두 번째를 보면 'abc'를 'Abc'로 변경되었는데요.

첫 번째 글자만 대문자로 바뀌었네요.

그렇습니다. 바로 첫번째 글자만 대문자로 바꾸고 나머지는 소문자든 대문자든

전부 소문자로 바꾼답니다.

보통 제목이나 문단을 시작할 때 사용하면 좋겠네요.

 

center(전체 넓이[, 채울 값])

[ ] 부분은 옵션으로 필요시에만 사용하면 됩니다.

'Mike' 값을 할당했습니다.

변수 s를 호출하니 그대로 나오네요. 'Mike'

center(10)으로 호출하면 총 10개의 길이를 잡고 Mike를 가운데 둡니다.

center(10, '#')는 10개의 길이를 잡고 Mike를 가운데 둔 뒤 빈 공간은 '#'으로 채웁니다.

 

count(찾을 문자[, 시작 위치[, 종료 위치]])

count는 보통 개수를 셀 때 사용하지만 파이썬 프로그래밍에서는 찾을 문자를 넣으면

그 문자가 몇 개 있는지 알려줍니다.

'b'는 문자열에 2개가 있네요. 그래서 2를 반환.

'd'를 문자열의 7번째 위치에서 문자열 제일 끝부분까지 3개를 찾았네요.

단일 문자뿐 아니라 'cd', 'dd'처럼 원하는 문자 값을 찾을 수 있습니다.

 

endswith(마지막 문자[, 시작 위치[, 종료 위치]])

문자열 s가 'ee' 또는 'e'로 끝나기에 True를 반환합니다.

문자열 s에서 0의 위치에서 6 바로 앞 위치까지 (0 <= s < 6) 

범위를 정한 뒤 마지막 문자가 'd'인지 확인했지만 'c'라서 False를 반환했네요.

startswith는 반대의 의미겠네요.

 

find(문자[, 시작 위치[, 종료 위치]])

find 메서드는 문자열 내 원하는 문자의 위치를 찾을 때 사용합니다.

'c'를 find 하니 2를 반환하네요.

문자열 첫 번째는 0부터 시작한다는 것을 잊지 마세요.

찾는 문자가 없으면 -1을 반환합니다.

긴 문자열에서 원하는 범위를 정하고 문자를 찾을 수도 있습니다.

 

index(문자[, 시작 위치[, 종료 위치]])

index의 예제를 보면 앞의 find와 같음을 알 수 있습니다.

다른 점은 find은 찾는 값이 없으면 -1을 반환하지만

index는 ValueError를 일으킵니다.

 

isalnum()

isalnum() 메서드는 숫자, 영문자, 한글 또는 세가지가 섞인 경우 True를 반환하고

그 외 특수문자 같은 경우 또는 특수문자가 하나라도 있으면 False를 반환합니다.

 

isalpha()

isalpha()는 순수하게 알파벳 또는 한글인 경우만 True를 반환합니다.

그 외 문자 또는 섞여 있다면 False를 반환합니다.

 

islower()

islower()는 문자열이 전부 소문자인 경우 True를 반환합니다.

 

isnumeric()

isnumeric() 메소드는 문자 중 숫자를 포함하는지 확인합니다.

그래서 변수 a처럼 숫자형으로 할당한 값에 이 메서드를 적용하면 오류가 납니다.

b는 숫자로 된 문자형이라 True이고 c와 d는 문자열에 문자가 포함되어 있어서 False입니다.

 

isspace()

변수에 순수하게 공백만 있다면 True를 반환합니다.

 

ljust(넓이[, 채울 값]), rjust(넓이[, 채울값])

ljust()는 넓이만큼 공간을 정한 뒤 왼쪽 정렬 후 채울 값을 빈 공간에 넣습니다.

없으면 그냥 빈 공간이겠죠?

rjust()는 같은 기능이지만 오른쪽 정렬을 합니다.

 

lower(), upper()

lower()은 문자열을 소문자로, upper()은 문자열을 대문자로 변경합니다.

 

lstrip(), strip(), rstrip()

문자열에 공백이 있다면,

lstrip()을 사용하면 왼쪽의 공백을 제거하고,

rstrip()을 사용하면 오른쪽의 공백을 제거하고,

strip()은 모든 공백을 제거합니다.

 

 split(분류자, maxsplit)

리스트 형식으로 만들어주는 메서드입니다.

maxsplit값을 설정하면 해당 수의 인덱스만큼만 분류하고 나머지는 합쳐집니다.

rsplit는 maxsplit값에 따라 왼쪽에 합친 후 나머지를 인덱스만큼 리스트를 만듭니다.

 

replace(변경될 기존 문자, 변경할 새로운 문자[, 변경할 개수])

기존 문자를 모두 찾아서 새로운 문자로 변경합니다.

하지만 변경할 개수를 지정하면 해당 수만큼만 변경합니다.

 

zfill(넓이)

유용한 메서드 중 하나를 발견했네요.

기본으로 0을 원하는 자릿수만큼 채울 수 있습니다.

 

파이썬 프로그래밍에서는 더 많은 메서드가 있지만 우선 기초로 이 정도만 하겠습니다.

잘못된 정보나 수정이 필요하면 댓글 주세요.

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

반응형