반응형
리스트(list)는 배열 같은 것으로 대괄호 []를 이용한다.
원소 삽입
insert(idx, val) idx 위치에 val 원소 삽입 (기존 원소가 존재한다면 뒤로 밀린다.)
a = [1, 2, 3]
a.insert(0, 4)
print(a) # [4, 1, 2, 3]
append와 extend
x = [1,2,3]
x.append([4,5])
print(x) # [1, 2, 3, [4, 5]]
y = [1,2,3]
y.extend([4,5])
print(y) # [1, 2, 3, 4, 5]
append() 에서 원소 한개만 주면, extend와 동일한 효과를 가지게 할 수 있다.
x = [1,2,3]
x.append([4])
print(x) # [1, 2, 3, [4]]
x = [1,2,3]
x.append(4)
print(x) # [1, 2, 3, 4]
+ 리스트 원소 더하기
* 리스트 원소 반복
len 리스트 길이
a = [1, 2, 3]
b = [4, 5, 6]
print(a + b) # [1, 2, 3, 4, 5, 6]
print(a * 3) # [1, 2, 3, 1, 2, 3, 1, 2, 3]
print(len(len(a)) # 3
원소 변경과 삭제
del / remove / pop를 이용해서 삭제할 수 있다.
- remove의 경우 동일한 원소가 있는 경우 첫번째 원소만 제거 한다.
- pop(idx)은 idx 번째 요소를 반환하고 해당 원속 삭제
인자가 없으면 맨 마지막 원소를 반환하면서 삭제
scores = [1, 2, 3, 3]
scores[0] = 100
print(scores) # [100, 2, 3, 3]
del scores[1]
print(scores) # [100, 3, 3]
scores.remove(3)
print(scores) # [100, 3]
scores.pop()
print(scores) # [100]
list 탐색
range(1, X)의 의미는 1부터 X-1까지의 숫자를 의미
ex) range(10)하면 0부터 9까지의 정수가 생성된다.
sum = 0
for x in range(10):
sum = sum + x
print(sum)
문자열도 시퀀스 일부로 처리 가능 (문자열 인덱싱 O)
for c in "abcdef":
print(c, end="") # abcdef
리스트는 for in 구문이 가능하다.
for i in [1, 3, 2]:
print(i, end=" ") # 1 3 2
원소 위치 반환
index(val) 리스트에 x 값이 있으면 x의 위치 값 반환 (없으면 Error)
a = [1,2,3]
print(a.index(1)) # 0
count(val) 리스트 안에 원소 val 개수 반환
a = [1,2,3,1]
print(a.count(1)) # 2
max / min로 최대값/최소값을 반환
a = [1, 2, 3]
print(max(a)) # 3
print(min(a)) # 1
list 특정 구간 슬라이싱(slicing)
squares = [0,1,4,9]
print(squares[0:1]) #[0]
list 원소 정렬(sort)
list = [4, 1, 3, 2]
list.sort()
print(list) #[1, 2, 3, 4]
A = [3,1,2]
B = sorted(A)
print(B) #[1, 2, 3]
A.sort(reverse = True)
print(A) #[3, 2, 1]
Sequence type과 reversed 함수
s1 = 'Hello' #문자열
t1 = (1, 2, 3, 4) #튜플
l1 = [10, 20, 30, 40] #리스트
r1 = range(100, 105) #range
s2 = reversed(s1)
t2 = reversed(t1)
l2 = reversed(l1)
r2 = reversed(r1)
print(s1, type(s2), ''.join(s2))
print(t1, *t2)
print(l1, *l2)
print(*r1, *r2)
Comprehension 표현
target = [3, 4, 5]
list = [x**2 for x in target]
print(list)
M = [x for x in range(10) if x % 2 == 0]
print(M)
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
[python] 파이썬 리스트(list) 얕은 복사 vs 깊은 복사 (0) | 2021.08.21 |
---|---|
[python] 파이썬 세트 (set) (0) | 2021.08.18 |
[python] 파이썬 튜플 (tuple) (0) | 2021.08.18 |
[python] 파이썬으로 수학 산술자 / 수식 표현 (0) | 2021.08.17 |
[python] 키워드 인수(sep, end) 활용해서 출력 (0) | 2021.08.16 |
댓글