반응형

우선, 리스트에 대해 소개해야 겠음. 근데 이런 거 잘 안읽지 않나요? 그래도 우선 써볼게요

출처 : 우리학교 교수님 ppt

교수님 사랑해요

 

List(목록 또는 배열)

:값들의 나열이다

-  리스트 안 구성 요소를 원소 또는 항목이라고 부른다. 

특징 (잘 알아둬야 함요 나중에 튜플이랑 헷갈릴 수도 있어요 누가 그러냐고요? 제가 그랬음ㅋ)

1. 다양한 종류의 데이터 타입으로 구성 가능 

2. 내용 변경이 가능 

 

리스트 함수들

1. 추가  

1) .append()

- 리스트 내에 새로운 아이템 한개를 추가하여, 마지막에 위치한다.

사용방법 : 리스트이름.append() ex) list.append(), array.append()

list = []
for i in range(10):
	list.append(i)
print(list)
#출력결과 :  [0,1,2,3,4,5,6,7,8,9]]

저는 이 함수를 제일 많이 썼음요. 하나의 객체로 추가된다는 점 유의하시길...☆

 

※ '+' 연산자로도 추가할 수 있다는 거 (후...진짜 꿀팁인데 제가 알려드릴게요 진짜 운 좋은 줄 아세요^^)

a = [1,2,3]
b = [4,5]
c = a+b
print(c)
#출력결과 : [1,2,3,4,5]

 

2) .insert()

- 리스트 내에 index 번호와 아이템 내용을 추가한다.

사용방법 : 리스트이름.insert(index, [추가할 내용])

이 함수는 자료형이 같아도 객체로 저장됨.

요롷게↓

arrays = [1,2,3]
arrays.insert(1, [4,5])
print(arrays)
#출력결과 : [1, [4,5], 2, 3] 

3) .extend()

 

- 다른 이름의 리스트, 아이템을 모두 추가한다. 

사용방법 : 리스트이름.extend([추가할 내용])

 

여기서 주의!! .insert()와 다르게 추가할 내용이 리스트 내에 있는 원소들의 자료형과 같아야함.

그러니까 정수형이라면 정수형으로 추가해야한다는 소리임.

arrays = [1,2,3]
arrays.extend([4,5])
print(arrays)
#출력결과 : [1, 2, 3, 4, 5] 

2. 정렬 

 .sort(), .reverse()

  (1) .sort()

사용방법 : 리스트이름.sort()

기본적으로 오름차순으로 정렬해준다. 순서의 기준은 ascii code순(그냥 우리가 흔히 아는 숫자 순서라고 생각하심 됩니다.)

arrays = [1,3,5,2,7]
arrays.sort()
print(arrays)
#출력결과 : [1, 2, 3, 5, 7] 

내림차순으로 정렬하고 싶으면 reverse = True을 쓰면 됨.

사용방법 : 리스트이름.sort(reverse = True)

짜란☆

arrays = [1,3,5,2,7]
arrays.sort(reverse = True)
print(arrays)
#출력결과 : [7, 5, 3, 2, 1] 

  (2) .reverse()

리스트를 거꾸로 뒤집어 준다. 

사용방법 : 리스트이름.reverse()

arrays = [1,3,5,2,7]
arrays.resverse()
print(arrays)
#출력결과 : [7, 2, 5, 3, 1] 

3. 삭제 

1) .pop()

리스트 내에 존재하는 아이템의 index 번호를 입력받아 삭제한다.

사용방법 : 리스트이름.pop(지우고 싶은 원소의 인덱스 값)

만약 arrays = [1,2,3,4,5]라는 아이템이 있을 때 3를 삭제하고 싶다면

원소 3의 인덱스 번호인 2를 넣어야 한다. -> arrays.pop(2) 

arrays = [1,2,3,4,5]
arrays.pop(2)
print(arrays)
#출력결과 : [1,2,4,5]

2) .remove()

사용방법 : 리스트이름.remove(지우고 싶은 원소)

리스트 내에 존재하는 아이템을 삭제, 동일한 아이템이 있으면 처음 아이템만 삭제 

여기서는 인덱스 번호가 아닌 원소를 넣어야한다.

arrays = [1,2,3,4,5,2,3,4]
arrays.remove(2)
print(arrays)
#출력결과 : [1,3,4,5,2,3,4]

 

자 여기까지 리스트 기본 함수....? 암튼 자주 사용하는거랍니다. 근데 저는 이마저도 다 사용안하구요...그냥 몇개 골라 씀..가끔 생각안나면 함수 안쓰고 풀기도 함(찡긋)

 

활용편

이걸 자주 쓰나? 싶은 의문이 들 수 있어요. 왜냐면 지금 제가 그렇거든요. 아직 시험 칠 때 빼고 한번도 쓴 적이 없어요....아무래도 백준에 입성해야 될듯...ㅠㅠ 헝헝 아직 파이썬으로 백준 문제 안풀어봤음요....내일 시험 끝나고 도전해볼것임

1) .split()

문자열을 단어 단위로 잘라서, 리스트로 생성

사용방법(집중하세요. 좀 많음;;)

 (1) 문자열.split()

word = "Hi, my name is hungry"
word = word.split()
print(word)
#출력결과 : ['Hi,', 'my', 'name', 'is', 'hungry']

 (2) 문자열.split('구분할 문자')

word = "Hi, my/ na/me is h/ungry"
word = word.split('/')
print(word)
#출력결과 :  ['Hi, my', ' na', 'me is h', 'ungry']

 (3) 문자열.split('구분할 문자', '분활할 횟수')

보시면 코드에 word = word.split('/',2) 가 있죠? 말 그대로 2번 나누니까 3개가 되겠죠? (, 갯수가 2개)

word = "Hi, my/ na/me is h/ungry"
word = word.split('/',2)
print(word)
#출력결과 : ['Hi, my', ' na', 'me is h/ungry']

 (4) 문자열.split(sep = '구분할 문자', maxsplit = '분활할 횟수')

이게 가장 정확한 함수래요 제가 정말 귀찮아서 위에 걸 주로 쓸 거 같죠? 근데 저 은근 쫄보라서 이거 썼어요

word = "Hi, my/ na/me is h/ungry"
word = word.split(sep = '/',maxsplit = 1)
print(word)
#출력결과 : ['Hi, my', ' na/me is h/ungry']

 

2) .join()

리스트를 문자열로 생성해줌. (.split()와 반대 기능)

사용방법 : '구분할 문자'.join(리스트이름)

list_word = ["Hi,","my", "name"," is", "hungry"]
word1= ' '.join(list_word)
word2= '/'.join(list_word)
print(word1)
print(word2)

'''
출력 결과 
Hi, my name  is hungry
Hi,/my/name/ is/hungry
'''

 

함수를 사용한 코드 

1. 소수 찾기 

num = int(input("양의 정수를 입력하세요 : "))
bol = True

prime = [1]

for i in range(2, num):
    if num % i == 0:
        prime.append(i)
        bol = False

prime.append(num)

if bol == True:
    print(num, '은 소수입니다.')
else:
    print(num, '은' , prime, '이라는 약수를 가지고 있으므로, 소수가 아니다.')

'''
출력 결과 :
양의 정수를 입력하세요 : 15
15 은 [1, 3, 5, 15] 이라는 약수를 가지고 있으므로, 소수가 아니다.
'''

2. 리스트에서 가장 큰 수 찾기 (물론 if문과 for을 써서 풀어도 되지만 저는 sort함수 사용을 위해 한 것이니 용서 부탁드려요^^)

array = [1, 3, 6, 2, 8, 4, 10 ,24, 31, 22, 19, 49, 22, 10]
temp = len(array)

array.sort()

print("리스트 내에서 가장 큰 수는 ", array[temp-1])
# 출력결과 : 리스트 내에서 가장 큰 수는  49

 

짝짜짜ㅏㅏㅏ자ㅉㄲㄱ짞짝

수고 하셧슴니다 모두모두 읽어주서셔 감사해용 그럼 뿡~

저의 마음입니다

반응형

'Python' 카테고리의 다른 글

03 파이썬 모듈  (0) 2021.05.21
02 파이썬 함수  (0) 2021.05.21
00 파이썬 시작(기초 문법)  (0) 2021.05.19

+ Recent posts