20221010 모각코 2회 파이썬 리스트를 정복한다.

2022. 10. 12. 18:21카테고리 없음

조금 낡고 지친 사람의 등장

 

[리스트]

mylist = [1,2,3,4,5]
print(mylist)

# 출력
# [1, 2, 3, 4, 5]

 

파이썬에는 리스트라는 데이터 타입이 잇음

리스트명 = [값1, 값2, ...]

이렇게 대괄호 안에 넣어주면 되겟음

숫자는 그냥 쓰고 문자는 "" 혹은 ''에 넣어주면 되겟음!

출력은 대괄호에 감싸진채 나온다

 

[리스트 인덱스]

mylist = [1,2,3,4,5]
print(mylist[0])

# 출력
# 1

인덱스!

리스트에는 인덱스라는게 존재함

인덱스는 0부터 시작함

고로 mylist의 0번째 인덱스 값은 1임

출력은 [1] 이 아니고 그냥 1로 나옵니당

 

[리스트 슬라이싱]

mylist = [1,2,3,4,5]
print(mylist[1:4])

# 출력
# [2, 3, 4]

슬라이싱은! 리스트를 원하는 만큼 잘라주는것임

인덱스를 사용함!

슬라이스햄 먹고싶당

아까 말했듯 인덱스는 0부터 시작

[n:m]은 인덱스 n부터 인덱스m-1 값을 가져온다는 뜻

[1:4]의 뜻은 인덱스1부터 인덱스3까지!!

그래서 2 3 4 가 출력됩니당

 

[스트링 슬라이싱]

a = "hello"
print(a[0:4]) 
print(a[:])


# h e l l o
# 0 1 2 3 4

# 출력
# hell
# hello

얘도 슬라이싱이라 하겠지?

스트링도 원하는 만큼 자를 수 있다

 

[0:4] 는 인덱스 0~3인 hell이 출력됨

지옥입니다

[:]은 전부 출력해줌

hello~~ㅋ~~

 

리스트도 마찬가지~!

근데 그냥 print(a) 출력하면 되지 왜 이런게 잇어요??;;

 

[id값을 비교해보자]

test = [1,2,3,4,5]

print(id(test)) 
print(id(test[:])) 

# 출력
# 4341361344
# 4342853824

엥 다름

네 그렇습니다 주소값이 달라요

이걸 대체 어따 쓰지???는 곧 알려드리겟어요

 

a = [1,2,3]
b = [4,5,6]

c = a + b
print(c)
d = a * 2
print(d)

# 출력
# [1, 2, 3, 4, 5, 6]
# [1, 2, 3, 1, 2, 3]

이런 것도 가능하다..

언젠가 써먹겟지?

 

[리스트 값 수정]

numbers = [1,3,5,7]
numbers[1] = 1000
print(numbers)

# 출력
# [1, 1000, 5, 7]

인덱스 사용하면 됨 알잘딱

 

[리스트 추가, 삽입, 삭제]

test = [12, 45, 346, 32]

# 추가
test.append(6)
print(test)
# [12, 45, 346, 32, 6]

# 삽입
test.insert(1, 2) # (넣고싶은 위치, 넣을 값)
print(test)
#[12, 2, 45, 346, 32, 6]

# 여러개 삽입
test.extend([3, 4, 5, 6])
print(test)
# [12, 2, 45, 346, 32, 6, 3, 4, 5, 6]

# 마지막 항목 삭제
print(test.pop()) # (마지막 항목을 지우고 리턴)
# 6
print(test)
# [12, 2, 45, 346, 32, 6, 3, 4, 5]

# 전체 삭제
test = [] 
test.clear()
print(test)
# []

.append(값) : 마지막에 추가

.insert(인덱스, 값) : 원하는 위치에 삽입

.expend([값1, 값2, ...]) : 마지막에 여러개 삽입

.pop() : 마지막 항목 지우고 리턴

.clear() : 전체 항목 삭제 (리스트명 = []도 가능)

완전 깔끔한 설명... 진짜 블로거 다 됏다...

 

[리스트 in, not in]

test = ["a", "b", "c"] 

if "a" in test:
    print("있음")
else:
    print("없음")
    
# 출력
# 있음


num = [1,2,3,4,5]
print(not 6 in num)
print(6 not in num)

# 출력
# True
# True

리스트 안에 이거 잇어요?

네 아니오

boolean타입을 리턴해줍니다.

이거 없어요? 는

not "이거" in 리스트

"이거" not in 리스트

이렇게 쓰면 됨

두 가지 다 쓸 수 잇게 해주다니... 진짜 파이썬이다..

 

[리스트 어떤 값의 인덱스 번호]

a = [1,3,3,3,4,5]
print(a.index(3))

# 출력
# 1

3의 인덱스를 알려주세요

인덱스 1, 2, 3은 모두 3의 값을 가지고 있지만

제일 처음 나왔을때의 인덱스인 1을 리턴해준다!

 

학생회 회의 갓다와서 마저 수정해야지!

하지만 링크는 보리님에게 드리고 떠날게요

bye