IT_developers

Python 개념 및 실습 - list(2) 본문

Python

Python 개념 및 실습 - list(2)

developers developing 2022. 9. 5. 17:00

list 구조- 자료형(배열과 같은 개념)

  • 대괄호 사용
  • 다양한 형태의 자료들을 담을 수 있음.
  • 자료형을 혼합해도 상관없다.

 

append() : 리스트에 요소 추가

list1 = [1, 2, 3]
# (4,5,6) 형태로 주면 에러남. 여러개를 주고 싶으면 [리스트]로 묶기
# TypeError: list.append() takes exactly one argument (3 given)
list1.append(4)
list1.append([5, 6, 7])  # 리스트 안에 리스트 추가
print(list1)

 

# 실습 : 1~100까지의 숫자 중에서 짝수 리스트 생성

even = []
for i in range(1, 101):
    if i % 2 == 0:
        even.append(i)
print(even)

 

 

sort : 오름 차순 정렬(기본) 정렬

sort(reverse=True) : 내림차순

# 숫자

list1 = [1, 4, 3, 5, 2]
print("정렬 전 : ", list1)
list1.sort()
print("정렬 후 : ", list1)
 

# 영문

list2 = ["k", "z", "a", "b", "r"]
print("정렬 전 : ", list2)
list2.sort()
print("정렬 후 : ", list2)
list2.sort(reverse=True)  # 옵션을 이용해 내림차순 출력
print("내림 차순 정렬 후 : ", list2)
 

# 대소문자 구별 오름차순 A : 65, a : 97에 의해

list3 = ["k", "z", "K", "b", "A"]
print("정렬 전 : ", list3)
list3.sort()
print("정렬 후 : ", list3)
 

# 한글 정렬도 가능

list4 = ["ㄷ", "ㄱ", "ㅏ", "ㅂ", "ㅅ"]
print("정렬 전 : ", list4)
list4.sort()
print("정렬 후 : ", list4)

reverse() : 리스트 뒤집기

# 정렬이 아니고 거꾸로 출력

list1 = ["a", "c", "b", "z"]
list1.reverse()
print("list1", list1)
 

# sort () + reverse()

list1 = [3, 12, 1, 5, 9, 2, 7]
print("정렬 전 : ", list1)
list1.sort()
list1.reverse()
print("정렬 후 : ", list1)

index() : 위치 반환. 문자열 찾기

find가 문자열 찾기엔 더 좋음.

list1 = [3, 12, 1, 5, 9, 2, 7]
print("list1", list1)
print("list1에 9가 있는지 확인", list1.index(9))  # 1로 호출. 1번자리에 있어서
# 값을 못 찾으면 ValueError 발생
print("list1에 45가 있는지 확인", list1.index(45)) # ValueError: 45 is not in list
 

insert(삽입 위치, 삽입할 요소) : 특정 위치에 특정 요소를 삽입할 수 있다.

list1 = [1, 2, 3]
list1.insert(0, 4)  # 0번자리에 4를 삽입. 다른 요소는 뒤로 밀림.
print("list1 요소 삽입 후 : ", list1)
 

remove(제거할 요소) : 첫번째로 나오는 요소 삭제. 중복된 요소일 땐 처음 만난 요소 제거

print("list1 요소 제거 전 : ", list1)
list1.remove(2)
print("list1 요소 제거 후 : ", list1)

pop(위치) : 해당 위치 요소 꺼내기

# default : 리스트 맨 마지막 요소가 꺼내짐

 
list1 = [1, 2, 3, 4, 5, 6, 7]
print("list1", list1)
list1.pop()
print("list1 pop() 후 : ", list1)
list1.pop(2)
print("list1 pop(2) 후 : ", list1)
 

count(x) : 리스트에 포함된 요소 x의 개수 세기

list1 = [1, 2, 3, 4, 5, 6, 7]
print("list1.count(2) : ", list1.count(2))  # 2라는 요소가 list1에 몇개 있는지 개수 세어줌.
 

extend(x 리스트) : 원래 리스트에 x 리스트 더하기

list1 = [1, 2, 3, 4, 5, 6, 7]
list2 = [16, 17, 18]
print("list1 + list2 = ", (list1 + list2))
list1.extend(list2)
print("list1 extend(list2) : ", list1)
 

clear() : 요소 모두 삭제

list1 = [1, 2, 3, 4, 5, 6, 7]
list1.clear()
print("list1 clear() 후 : ", list1)
 

# 요소 in 리스트명 : 리스트 안에 해당 요소가 있는지 확인. True or false로 확인 가능

fruits = ["딸기", "바나나", "수박", "사과", "참외"]
print("딸기" in fruits)
print("두리안" in fruits)
 

# 리스트가 비어 있으면 거짓

list1 = []
if list1:
    print("참")
else:
    print("거짓")

# 리스트 요소 출력

enumerate() : 하나씩 가지고 나올 수 있는 자료형에 사용가능

numbers = [273, 103, 5, 32, 65, 9, 72, 800, 99]
for num in enumerate(numbers):
    print(num)  # (0, 273) : (인덱스, 값) ==> 튜플 자료형 형태로 반환

# (variable) idx: int
# idx, num = (0,273)
for idx, num in enumerate(numbers):
    # print(num)
    print(idx, num)

 

for idx, num in enumerate(numbers, start=1):
    print(idx, num)
 

실습 : 평균구하기

# A 학급에 총 10명의 학생이 있다. 이 학생들의 중간고사 점수는 다음과 같다

# 70, 66, 55, 75, 90, 95, 80, 85, 100, 87

# 중간고사 점수를 리스트로 생성하고 A학급의 평균을 구하시오.

A_class = [70, 66, 55, 75, 90, 95, 80, 85, 100, 87]
total = 0
for num in A_class:
    total += num
print("A학급의 평균 : %.2f " % (total / len(A_class)))
# for 사용 안하고
print("A학급의 평균 : %.2f " % (sum(A_class) / len(A_class)))
 

# 다음 리스트에서 Apple 항목만 삭제하고 출력하기

fruits = ["Banana", "Apple", "Orange", "Grape"]
fruits.remove("Apple")
print(fruits)

 

'Python' 카테고리의 다른 글

Python 개념 및 실습 - tuple  (0) 2022.09.06
Python 개념 및 실습 - list(3)  (0) 2022.09.06
Python 개념 및 실습 - list(1)  (0) 2022.09.05
Python 개념 및 실습 - for문  (0) 2022.09.04
Python 개념 및 실습 - if  (0) 2022.09.04
Comments