Skip to main content

Command Palette

Search for a command to run...

[python study note] 리스트

List

Updated
2 min read
[python study note] 리스트

1. 리스트

대괄호[ ]로 시작하고 값들을 쉼표로 나눠주고 대괄호로 끝내면 된다.

리스트 안에 있는 값들 하나하나를 리스트의 요소라고 부른다.

numbers = [1,2,4,6,7,8] #정수형이 담긴 리스트
names = ['토니', '로켓', '톰', '스티브', '넷'] #문자열이 담긴 리스트

리스트에서 요소의 위치를 인덱스(index)라고 하고,

인덱스를 통해 요소를 받아오는걸 인덱싱(indexing)이라 한다.

names = ['토니', '로켓', '톰', '스티브', '넷']
print(names[1]) #로켓

마이너스 인덱스

첫번째 인덱스가 0이기 때문에 -1은 8, -2는 7

numbers = [1,2,4,6,7,8] #정수형이 담긴 리스트
names = ['토니', '로켓', '톰', '스티브', '넷'] #문자열이 담긴 리스트

print(numbers[-1]) #8
print(numbers[-2]) #7

리스트 슬라이싱 (list slicing)

numbers = [1,2,4,6,7,8]

print(numbers[0:4]) #[1, 2, 4, 6]
리스트의 인덱스0부터 인덱스 3까지 자르는것

print(numbers[2:]) #[4, 6, 7, 8]
인덱스 2부터 마지막 요소까지

print(numbers[:3]) #[1, 2, 4]
인덱스 0번째부터 인덱스 2까지의 요소가 들어간 리스트
numbers = [1,2,4,6,7,8]

num_list = numbers[:3] #[1, 2, 4]
print(num_list[2]) #4

리스트의 요소 바꾸기

numbers = [1,2,4,6,7,8]

numbers[0] = 7 #정수7을 인덱스 0의 자리에 저장
print(numbers) #[7, 2, 4, 6, 7, 8]

0번 인덱스 요소와 1번 인덱스 요소를 더한것 -> 3

numbers[0] = numbers[0] + numbers[1]
print(numbers) #[3, 2, 4, 6, 7, 8]

2. 리스트 함수

len 리스트 요소 개수 구하기

numbers = [2,5,6,7]
print(len(numbers)) #4

append 리스트 요소 추가

append는 오른쪽 끝에 값 추가하는 것 -> 추가연산

numbers = []
numbers.append(5)
numbers.append(6)
print(numbers) #[5,6]

del 리스트 요소 삭제

numbers = [1,2,5,6,7,8,9,13]
del numbers [3]
print(numbers) #[1, 2, 5, 7, 8, 9, 13]

insert 리스트 요소 삽입

insert는 원하는 위치에 값 삽입하는 것 -> 삽입연산

numbers = [1,2,5,6,7,8,9,13]
numbers.insert(3, 55)
print(numbers) #[1, 2, 5, 55, 6, 7, 8, 9, 13]

3. 리스트 정렬

sorted 작은 순서로 정렬

sorted함수는 기존의 numbers를 건드리지 않는다.

정렬된 새로운 리스트를 만들어서 리턴한다.

numbers = [6, 18, 12, 5, 7, 2]
new_list = sorted(numbers)
print(new_list) #[2, 5, 6, 7, 12, 18]

반대로 정렬

numbers = [6, 18, 12, 5, 7, 2]
new_list = sorted(numbers, reverse = True)
print(new_list) #[18, 12, 7, 6, 5, 2]

sort

sort는 아무것도 리턴하지 않고 numbers 리스트 자체를 정렬한다.

numbers = [6, 18, 12, 5, 7, 2]
print(numbers.sort()) #None

정렬된 리스트를 보고싶다면 numbers를 print 해야한다.

numbers = [6, 18, 12, 5, 7, 2]
numbers.sort()
print(numbers) #[2, 5, 6, 7, 12, 18]

sorted : 기존 리스트는 건드리지 않고 정렬된 새로운 리스트를 리턴 sort : 아무것도 리턴하지 않고 기존 리스트를 정렬

More from this blog

s3사용 및 s3:PutBucketPolicy 권한 오류

1. S3 생성 중 정책 생성 페이지에서 s3:PutBucketPolicy 권한이 없어 오류 발생 IAM 사용이 아닌 루트 사용자 버전으로 설명 AWS IAM 콘솔 → 정책 → AdministratorAccess⁠검색→ 정책이 나타나면 사용자에 연결→ 없다면 새로운 정책 추가 없으므로 AdministratorAccess 생성 정책 생성 버튼 클릭 → JSON 탭 선택 후 아래 코드 입력 → 생성 { "Version": "2012-10-1...

Mar 12, 20252 min read9
s3사용 및 s3:PutBucketPolicy 권한 오류

챗봇과 사용자의 대화 내용이 길어질수록 llm 호출 시 토큰 수가 증가하여 응답 시간이 지연되는 문제가 발생

https://youtu.be/5soSQgVHGEA OpenAI API를 이용한 챗봇을 만들면서 대화가 길어질수록 LLM 호출 시 토큰 수 증가로 응답 시간이길어지는 문제가 발생 문제분석 여기서 생각하는 문제는 db 조회의 부하 처음 챗봇에게 부여하는 역할이 너무 긴데, 이걸 매 API 호출마다 전송함 대화 흐름을 기억하기 위해 챗봇-유저 간 대화 내용을 모두 DB에 저장한 다음 그대로 API 호출 마다 LLM에 전달함 → 모든 대화 ...

Jan 16, 20253 min read122
챗봇과 사용자의 대화 내용이 길어질수록 llm 호출 시 토큰 수가 증가하여 응답 시간이 지연되는 문제가 발생

dayeon's blog

124 posts