리스트(List)

heehe·2023년 2월 27일
0

python

목록 보기
8/11
post-thumbnail

List

리스트를 사용하면 1, 3, 5, 7, 9 숫자 모음을 다음과 같이 간단하게 표현할 수 있다.

odd = [1, 3, 5, 7, 9]

리스트를 만들 때는 위에서 보는 것과 같이 대괄호([ ])로 감싸 주고 각 요솟값은 쉼표(,)로 구분해 준다.

리스트명 = [요소1, 요소2, 요소3, ...]

인덱싱과 슬라이싱

인덱싱
슬라이싱은 "나눈다"는 뜻

#리스트(list)
numbers = [2,3,5,7,11,13]
names = ["윤수","혜인","태호","영훈"]

#인덱싱(indexing)
print(numbers[2])
print(numbers[-3])

#리스트 슬라이싱(list slicing)
print(numbers[0:4])
print(numbers[:3])

#리스트 변경
numbers[0] = 7
print(numbers)

# 리스트 요소 변경
numbers[0] = numbers[0] + numbers[1]
print(numbers)

함수

number = []
number.append(5) # 값 추가(무조건 끝에)
number.append(8)
print(number)
print(len(number)) # 길이 측정

number = [2,3,5,7,11,13,17,19]
del number[3] # 인덱스 삭제
number.insert(4,37) # 값 추가(원하는 위치에)
print(number)

정렬

numbers = [19,13,2,5,3,11,7,17]

new_list = sorted(numbers) #값 정렬
new_list = sorted(numbers,reverse=True) #반대로 값 정렬
print(new_list)
# sorted 기존 리스트는 건드리지 않고 정렬된 새로운 리스트 리던

numbers.sort() # 값 정렬
numbers.sort(reverse=True) #반대 값 정렬
print(numbers)
# sort 아무것도 리턴하지 않고, 기존 리스트 정렬

문제 1

greetings리스트의 원소를 모두 출력하는 프로그램을 작성해 보세요.

greetings = ["안녕", "니하오", "곤니찌와", "올라", "싸와디캅", "헬로", "봉주르"]

# 여기에 코드를 작성하세요
i = 0
while i < 7:
    print(greetings[i])
    i += 1

문제 2

화씨 온도(°F)를 섭씨 온도(°C)로 바꾸어주는 프로그램을 만들려고 합니다.

# 화씨 온도에서 섭씨 온도로 바꿔 주는 함수
def fahrenheit_to_celsius(fahrenheit):
    return (fahrenheit - 32) * 5 / 9

temperature_list = [40, 15, 32, 64, -4, 11]
print("화씨 온도 리스트: {}".format(temperature_list))  # 화씨 온도 출력

# 리스트의 값들을 화씨에서 섭씨로 변환하는 코드
i = 0
while i < len(temperature_list):
    temperature_list[i] = round(fahrenheit_to_celsius(temperature_list[i]), 1)
    i += 1

문제 3

# 빈 리스트 만들기
numbers = []
print(numbers)

# numbers에 값들 추가
numbers.append(1)
numbers.append(7)
numbers.append(3)
numbers.append(6)
numbers.append(5)
numbers.append(2)
numbers.append(13)
numbers.append(14)
print(numbers)

# numbers에서 홀수 제거
i = 0
while i < len(numbers):
    if numbers[i] % 2 == 1:
        del numbers[i]
    else:
        i += 1
print(numbers)

# numbers의 인덱스 0 자리에 20이라는 값 삽입
numbers.insert(0,20)
print(numbers)

# numbers를 정렬해서 출력
numbers.sort()
print(numbers)

리스트에서 값 존재 확인

# value가 some_list의 요소인지 확인
def in_list(some_list, value):
    i = 0
    while i < len(some_list):
        # some_list에서 value를 찾으면 True를 리턴
        if some_list[i] == value:
            return True
        i = i + 1

    # 만약 some_list에서 value를 발견하지 못했으면 False를 리턴
    return False

# 테스트
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23]
print(in_list(primes, 7))
print(in_list(primes, 12))

# in이라는 키워드 작성
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23]
print(7 in primes)
print(12 in primes)

# 거꾸로 확인(in 앞에 not)
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23]
print(7 not in primes)
print(12 not in primes)

리스트 안에 리스트(Nested List)

# 세 번의 시험을 보는 수업
grades = [[62, 75, 77], [78, 81, 86], [85, 91, 89]]

# 첫 번째 학생의 성적
print(grades[0])

# 세 번째 학생의 성적
print(grades[2])

# 첫 번째 학생의 첫 번째 시험 성적
print(grades[0][0])

# 세 번째 학생의 두 번째 시험 성적
print(grades[2][1])

# 첫 번째 시험의 평균
print((grades[0][0] + grades[1][0] + grades[2][0]) / 3)

Sort 메소드

# 새로운 리스트 생성하지 않고 some_list를 정렬된 상태로 바꿔줌 (sorted 함수와 다름)
numbers = [5, 3, 7, 1]
numbers.sort()
print(numbers)

Reverse 메소드

# some_list.reverse()는 some_list의 원소들을 뒤집어진 순서로 배치
numbers = [5, 3, 7, 1]
numbers.reverse()
print(numbers)

Remove 메소드

# some_list.remove(x)는some_list에서 첫 번째로 x의 값을 갖고 있는 원소를 삭제
fruits = ["딸기", "당근", "파인애플", "수박", "참외", "메론"]
fruits.remove("파인애플")
print(fruits)
profile
성장하고픈 ISFJ

0개의 댓글