본문 바로가기

Python 파이썬

리스트(list)_2, 리스트빌트인 함수

728x90

리스트의 형식과 사용되는 빌트인기능들을 알아보자

좀 길다..!

내용이 많긴 하지만 리스트와 리스트빌트인 함수 설명서 라고 생각하고 적었다.

각 예시들과 설명이 있다..!

 

 
1 리스트 만드는 법( , 로 구분)
# 리스트 이름 = [요소1,요소2,요소3....]
list1 = [1,2,3,4]                                          # [1,2,3,4]
list2 = ["Hello","List","Test"]              # ["Hello","List","Test"]
list3 = [1,2,["Hello","List","Test"]]   # [1,2,["Hello","List","Test"]]

 
2 리스트 요소에 인덱스 번호를 이용하는 방법
a0 = [1,2,3]
print(a0)       # [1,2,3]
print(a0[0]) # 1
print(a0[1]) # 2
print(a0[2]) # 3

 
3 리스트 안에 리스트를 넣기
a1 = [1,2,["a","b","c"]]
print(a1)              # [1,2,["a","b","3"]]
print(a1[0])        # 1
print(a1[1])        # 2

print(a1[2])           # ["a","b","c"]
print(a1[2][0])     # [a]
print(a1[2][1])     # [b]
print(a1[2][2])     # [c]

 
4 리스트의 길이를 계산
a3 = [1,2,3]
print("len(a3) : %d" % len(a3))       # a3 리스트 안에 값이 3개이므로 3

b = [1,2,3,["a","b"]]                               # len() 은 리스트의 길이를 알려줌.
print("len(b) : %d" % len(b))            # b 리스트 안에 리스트는 하나의 값으로 인식. 1,2,3,리스트 따라서 값은 4
print("len(b[3]): %d" % len(b[3]))  # b 리스트의 인덱스 3번은 리스트이므로 리스트 길이 출력, 값은 2
   
 
5 리스트에 반복문 활용
a4 = [1,2,3]
print("len(a4) : %d" % len(a4))     # a4의 길이를 계산 -> 3
for i in range(0,len(a4)):                  # for문 0부터 a4의 길이까지 반복 -> (0,4)
    print("%d" % a4[i], end=" ")     # 출력 a4[i] a4의 길이가 i만큼 반복할때,
print()                                                     # 인덱스 번호 0부터 3까지의 값을 출력.

 
6 리스트에 요소 수정과 추가
a5 = [1,2,3]            
a5[1] = 10                                              # a5의 인덱스 1번을 10으로 수정.
a5 = a5 + [100,200]                            # a5에 + 리스트 [100,200] 을 추가.
for i in range(0, len(a5)):                 # 0부터 a5 의 길이만큼 -> 0,5
    print("%d" % a5[i], end = " ")   # a5의 0부터4까지 인덱스 번호의 값을 출력.
b5 = "hello"                                          # 1,10,3,[100,200]"hello world"
b5 = b5 + " world"
print(b5)

 
7 리스트에 연속된 요소 수정하기
#[n:m] -> n ~ m 요소에 리스트 수정(m은 포함 안함). 뒤의 값은 밀림.
#[n:] -> n부터 리스트를 덮어 씀.  
#[:n] -> n이전 리스트를 수정.
a6 = [1,2,3]
print("len (a6) : %d" % len(a6))   # a6 len-> 3
a6[1:2] = 11, 22, 33, 44                     # a6에 인덱스 번호 1부터2까지, 2는 포함 안하니 값은 2번째 인덱스에 11,22,33,44로 수정
a6 = a6 + [100, 200]                           # 리스트 더하기
for i in range(0, len(a6)):
    print("%d" % a6[i], end = " ")  # 출력값-> 1 11 22 33 44 3 100 200
print()

 
8 2차원 리스트
a7 = [
        [1,2,3],
        [4,5,6],
        [7,8,9],
    ]
for i in range(0,len(a7)):
    for j in range(0,len(a7)):
        print("%d" % a7[i][j], end = " ") # i 는 세로 j는 가로
print()    

 
9 리스트 요소 삭제하는 법(인덱스번호를 이용한 삭제)
a8 = [1,2,3]
b8 = [4,5,6]

a8[0:1] = []    # 인덱스 0번 삭제.
del b8[1]       # b의 인덱스 1번 삭제.

print(a8, b8)   #[2,3], [4,6]

 
10 리스트에 객체 추가기능
a9 = [1,2,3]    
a9.append(4)               # .append() -> 객체를 추가하는 기능.
print(a9)                         # [1,2,3,4]
a9.append([5,6]          # 리스트 추가
print(a9)                         # [1,2,3,4,[5,6]]
a9.append("hello"  # 문자추가
print(a9)                        #[1,2,3,4,[5,6],hello]

 
10-1 오름차순 정렬
a9_1 = [4,3,7,6,2]
a9_1.sort() # .sort() -> 오름차순 정렬[2, 3, 4, 6, 7]
print(a9_1)

 
10-2 내림차순 정렬
a9_2 = [4,3,7,6,2]
a9_2.sort(reverse=True) # .sort(reverse=True) -> 내림차순 정렬[7, 6, 4, 3, 2]
print(a9_2)

 
10-3 리스트 뒤집기. 정렬이 아닌 리스트의 순서를 반대로 만든다
a9_3 = [4,3,7,6,2]
a9_3.reverse() # .reverse() -> 리스트 뒤집기[2, 6, 7, 3, 4]
print(a9_3)

 
10-4 리스트에서 요소 위치 얻기
a9_4 = [4,3,7,6,2]
i = a9_4.index(3) # .index() -> 리스트 안에 "3" 의 인덱스위치 얻기. 값 = 1
print(i)
i = a9_4.index(4) # 위치 0
print(i)          

 
10-5 리스트에 요소 삽입하기
a9_5 = [4,3,7,6,2]
a9_5.insert(1,10) # 인덱스 1번에 10 을 추가한다. -> [4, 10, 3, 7, 6, 2]
print(a9_5)
a9_5.insert(1,11) # 인덱스 1번에 10 을 추가한다. -> [4, 11, 10, 3, 7, 6, 2]
print(a9_5)

 
10-6 리스트에 요소 제거(직접 요소를 찾아 삭제) 또는 꺼내기.
a9_6 = [4,3,7,6,2]
a9_6.remove(7)                 # .remove 는 리스트에서 찾은 값 하나 삭제(반환없음)
print(a9_6)                          # [4, 3, 6, 2]
a9_6_pop = a9_6.pop() # pop은 리스트에서 찾은 값을 삭제하고 반환한다.()에 값이 없으면 맨 뒤 요소 삭제, 반환
print(a9_6_pop)               # 2

 
10-7 리스트에 요소 갯수 찾기
a9_7 = [4,3,7,6,2,4,7,4,2]
cnt_a9_7 = a9_7.count(4) # .count(4) -> 요소에서 (4) 의 갯수를 찾아라.
print(cnt_a9_7)                     # 3

 

자자 여기까지 봤다면 고생했다..!

예제 문제들을 통해 어떻게 사용하는지 보자.

 

base_list = [10,17,3,9,27,10,8,9,13,21]
#1 리스트에 거꾸로 입력하기
base_list.reverse()
invert_list = base_list
print(invert_list)


#2 짝수번째 내용의 합과 홀수번째 내용합 구하기
num = 0
num1 = 0
for i in range(0, len(base_list)):
    if i % 2 == 0 :
        num += base_list[i]
    else:
        num1 += base_list[i]

print(f"짝수합 : {num}, 홀수합 : {num1}")


#3 srot_list라는 리스트에 내림차순으로 정렬
base_list.sort(reverse=True)
sort_list = base_list
print(sort_list)


#4 rank_list 에 높은숫자가 1등이 되게하여 순위 입력
for i in range(0,len(sort_list)):
    print(f"{i+1}{sort_list[i]}")

밑은 출력결과!

출력결과 1
[21, 13, 9, 8, 10, 27, 9, 3, 17, 10]

출력결과 2
짝수합 : 66, 홀수합 : 61

출력결과 3
[27, 21, 17, 13, 10, 10, 9, 9, 8, 3]

출력결과 4
1등 27
2등 21
3등 17
4등 13
5등 10
6등 10
7등 9
8등 9
9등 8
10등 3

이상 리스트의 사용법과 예제들을 살펴봤다!

728x90