[Python] 리스트

Narcoker·2023년 3월 28일
0

Python

목록 보기
2/13

✏️리스트

개요

리스트는 여러 값들을 저장하는 파이썬 자료구조이다.
중복된 값을 허용하고 여러 타입의 값들을 섞어서 저장할 수도 있다.

my_list = ['오예스', '몽쉘', '초코파이', '초코파이', '초코파이']
print(my_list) # ['오예스', '몽쉘', '초코파이', '초코파이', '초코파이']
my_list2 = [1,2, 3.14, True, False, "아무거나"]
print(my_list2) # [1, 2, 3.14, True, False, '아무거나']

리스트는 순서를 보장한다.
따라서 인덱스토 특정값을 반환할 수 있다.

my_list = ['오예스', '몽쉘', '초코파이', '초코파이', '초코파이']
print(my_list[1]) # 몽쉘

슬라이싱

또한 문자열과 같이 슬라이싱이 가능하다.

my_list = ['오예스', '몽쉘', '초코파이', '초코파이', '초코파이']
print(my_list[0:2]) # ['오예스', '몽쉘']

in

in 을 사용하면 불리언 형태로 포함 여부를 반환한다.

my_list = ['오예스', '몽쉘', '초코파이', '초코파이', '초코파이']
print('몽쉘' in my_list) # True

len()

리스트의 길이를 반환한다.

my_list = ['오예스', '몽쉘', '초코파이', '초코파이', '초코파이']
print(len(my_list)) # 5

append()

리스트 맨뒤에 새로운 값을 추가한다.

my_list = ['오예스', '몽쉘', '초코파이', '초코파이', '초코파이']
my_list.append('빅파이')
print(my_list) # ['오예스', '몽쉘', '초코파이', '초코파이', '초코파이', '빅파이']

remove()

리스트에서 해당 값을 삭제한다.
없는 값을 삭제하면 에러가 발생한다.

my_list = ['오예스', '몽쉘', '초코파이', '초코파이', '초코파이']
my_list.remove('몽쉘')
print(my_list) # ['오예스', '초코파이', '초코파이', '초코파이']

extend()

리스트를 합친다.

my_list = ['오예스', '몽쉘', '초코파이']
your_list = ['빅파이', '오뜨']

my_list.extend(your_list)
print(my_list) # ['오예스', '몽쉘', '초코파이', '빅파이', '오뜨']

insert()

원하는 인덱스에 값을 추가한다.
지정 인덱스가 리스트의 길이보다 크다면 맨뒤에 추가뒨다.

my_list = ['오예스', '몽쉘', '초코파이']
my_list.insert(1, "빅파이")

print(my_list) # ['오예스', '빅파이', '몽쉘', '초코파이']
my_list = ['오예스', '몽쉘', '초코파이']
my_list.insert(5, "빅파이")

print(my_list)

clear()

리스트의 모든 값을 삭제한다.

my_list = ['오예스', '몽쉘', '초코파이']
my_list.clear()

print(my_list) # []

sort()

리스트를 순서대로 정렬한다.

my_list = ['오예스', '몽쉘', '초코파이']
my_list.sort()

print(my_list) # ['몽쉘', '오예스', '초코파이']

key를 지정하여 정렬 기준을 지정할 수 있다.

my_list = ['오예스', '몽쉘', '초코파이']
my_list.sort(key=len) # 길이 기준 오름차순 정렬

print(my_list) # ['몽쉘', '오예스', '초코파이']

sorted()

정렬된 리스트를 반환한다.
원본 리스트는 변환되지 않는다.

my_list = ['오예스', '몽쉘', '초코파이']
sorted_list = sorted(my_list)

print(my_list) # ['오예스', '몽쉘', '초코파이']
print(sorted_list) # ['몽쉘', '오예스', '초코파이']

reverse()

리스트의 순서를 역순으로 정렬한다.

my_list = ['오예스', '몽쉘', '초코파이']
my_list.reverse()

print(my_list) # ['초코파이', '몽쉘', '오예스']

reversed()

역순의 iterable한 객체를 반환한다.
list로 사용하기 위해 형변환이 필요하다.

my_list = ['오예스', '몽쉘', '초코파이']
reversed_my_list = reversed(my_list)

print(my_list) # ['오예스', '몽쉘', '초코파이']
print(reversed_my_list) # <list_reverseiterator object at 0x00000235FFAB11C0>

reversed_my_list = list(reversed_my_list) 
print(reversed_my_list) # ['초코파이', '몽쉘', '오예스']

enumerate()

반복문 사용 시 인덱스 값과 enumerate 객체로 반환한다.

arr = ['one', 'two', 'three']

print(list(enumerate(arr))) # [(0, 'one'), (1, 'two'), (2, 'three')]

for index, value in enumerate(arr):
    print(index, value)

join()

리스트의 값들을 구분자로 역여서 문자열로 반환한다.
단 리스트의 모든 값은 문자열이여야한다.
구분자.join(리스트)

print("".join(["a","b","c"]))

List Comprehension

리스트 내에서 어떤 조건에 해당하는 것만 뽑아내거나
값을 바꿔서 새로운 리스트를 만드는 기법이다.

new_list = [변수 활용 for 변수 in 반복대상 if 조건]

my_list [1,2,3,4,5]
new_list = [x for x in my_list if x > 3] # my_list의 값중 3보다 큰 수만
products = ['JOA-2020', 'JOA-2021', 'SIRO-2021, 'SIRO-2022']
recall = [p for p in products if p.startswith("SIRO")]
products = ['JOA-2020', 'JOA-2021', 'SIRO-2021, 'SIRO-2022']
recall = [p + 'SE' for p in products if p.startswith("SIRO")]
# ['SIRO-2021SE, 'SIRO-2022SE']
profile
열정, 끈기, 집념의 Frontend Developer

0개의 댓글