coding 101

python_인덱싱 및 슬라이싱

밤 고구마 2022. 4. 6. 15:49

리스트's 인덱싱 = 문자열's 인덱싱

 

인덱싱 = 리스트에서 하나의 요소를 인덱스 연산자를 통하여 참조하는 것

list 3 4 1 9
index 0 1 2 3
-4 -3 -2 -1
a = [3,4,1,9]
a

[3,4,1,9]

tpye(a)
<class 'list'>
a[0]
3
a[1]
4
a[2]
1
a[3]
9

a[4]
indexerror

a[-1]
a[-2]
a[-2]
a[-4]

 

슬라이싱 = 리스트 안에서 범위를 지정하여 원하는 요소를 선택하는 연산

list{start:end} 같은 형식 사용

a = [3,4,1,9]
a[0:1]
[3]

a[0:2]
[3,4]

a[0:3]
[3,4,1]
a[2: len(a)] == a[2:4]
[1,9]
a[:]
[3, 4, 1, 9]

 

특정 자리값의 리스트 요소 수정

# 첫 번째 자리를 5로 변경

a = [3,4,1,9]
a[0] = 5
a
[5,4,1,9]

 

# 첫 번째 자리를 100으로 변경

x=[1,2,3,4,5]
x[0] = 100
x

[100,2,3,4,5]

 

 

2차원 리스트

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

[[1,2,3],     => 1행 (0)
[4,5,6]]      => 2행 (1)
1열 2열 3열
(0) (1) (2)

2차원 리스트의 요소를 인덱싱하는 경우 변수명[i][j]형식

a[0][0] #1행 1열
a[0][1] #1행 2열
s= [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]]
print(s)
[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]

 

len(s) #행.  3

len(s[0]) # 첫 번째 행의 원소의 개수.   5

 

 

연산 및 논리 함수

 

구분 코드 결과 설명
+ [1,2] + [3,4,5] [1,2,3,4,5] 두개의 시퀀스 연결
* ["welcome"]*3 ["welcome","welcome","welcome"] 반복
in  3 in [1,2,3] true 소속
not in  5 not in [1,2,3] true 소속하지 않음
[] mylist[1] 1번째 요소 인덱스
for 루프 for x in [1,2,3]: print(x) 1,2,3 반족

 

numbers = [14.2, 5, 400.2, 0.002]
print(max(numbers))
400.2
print(min(numbers))
0.002
print(sum(numbers))
419.402
print(sorted(numbers))
[0.002, 5, 14.2, 400.2]

index(object) 

colors = ["red","yellow","blue"]
colors.index("yellow")
1 # 두번째 자리

extend()

a = [1,2,3]
b = [4,5,6]
a.extend(b)
a
[1, 2, 3, 4, 5, 6]

insert()

a=[3,4,1,9]
a.insert(0,1) #insert(0,1)에서 0은 자리값

a
[1, 3, 4, 1, 9]

append() => 항상 데이터를 넣을 공간을 먼저 만들고 data 집어넣기

a = [3,4,1,9]
a.append(7)
a
[3, 4, 1, 9, 7]

 

리스트 요소 제거 

del() : 리스트 자리 값 이용

b = [1,2,3,4,5]
del(b[0])
b
[2, 3, 4, 5]

#첫번째 자리에 있는 숫자 삭제

pop() : 리스트 자리값을 이용하여 추출

a = [3,4,1,9]
a.pop(1)  
4
a
[3, 1, 9]

remove() : 리스트의 요소값을 직접 제거

a = [3,4,1,9]
a.remove(3)
a
[4, 1, 9]

 

 

리스트 정렬하기

sort() 리스트를 정렬된 상태로 변경한다

sorted() 기존의 리스트를 변경하는 것이 아니라 정렬된 새로운 리스트를 반환한다

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

mylist=[4,2,3,5,1]
mylist.sort(reverse=true)
Traceback (most recent call last):
  File "<pyshell#62>", line 1, in <module>
    mylist.sort(reverse=true)
NameError: name 'true' is not defined. Did you mean: 'True'?
mylist.sort(reverse=True)
mylist
[5, 4, 3, 2, 1]

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

sorted(mylist, reverse= True)
[5, 4, 3, 2, 1]
728x90
반응형