append 요소 하나 추가
-> 메서드 호출한 리스트가 변경, 새 리스트 생성 ㄴㄴ
*리스트 안에 리스트 추가도 가능 (중첩리스트)
a.append([300,600])은 [300,600]이라는 요소 하나를 추가. 두개아님
=리스트의 길이가 항상 1씩 증가
extend 리스트 연결하여 확장
리스트에 요소 여러개 추가할 때 사용.
리스트에 다른 추가한 리스트를 연결하여 하나의 리스트로.
a = [10,20]
a.extend([300,600])
a = [10,20,300,600]
insert(인덱스,요소) 특정 인덱스에 요소 추가
*insert(len(리스트),요소) : 리스트 끝에 요소 추가 = 리스트.append(요소)
pop 마지막 요소 또는 특정 인덱스의 요소 삭제
a = [10,20]a.pop() = 20a.pop(인덱스) = del a[인덱스]
remove(값) 특정 값을 찾아서 삭제
*만약 리스트에 같은 값 여러개 있을 경우 처음 찾은 값을 삭제 ( 더 앞에 있는 인덱스 삭제)
count(값) 특정 값의 개수 구함
a.count(20) -> 20의 개수 구하기
sort() or sort(reverse=False) 리스트의 값을 작은 순서대로 정렬(오름차순)
sort(reverse=True) 리스트의 값을 큰 순서대로 정렬(내림차순)
*sorted 정렬된 새 리스트를 생성.
clear() 리스트의 모든 요소 삭제 = del[:]
리스트의 할당과 복사
a = [0,0,0]
b = a
리스트를 다른 변수에 할당하면 실제로 리스트는 한개. 변수 이름만 다를 뿐 리스트 a와 b는 같은 객체임
리스트 b의 요소를 변경하면 a에도 그대로 적용됨.
a와 b를 완전히 두개로 만들려면 a.copy()로 모든 요소 복사
a is b -> False
a == b -> True
인덱스와 요소를 함께 출력하기
for 인덱스, 요소 in enumerate(리스트):
for 인덱스, 요소 in enumearate(리스트, start = 숫자):
>>> a = [1,2,3,4]
>>> for index, value in enumerate(a):
print(index,value)
0 1
1 2
2 3
3 4
for 반복문에서 인덱스로 요소를 출력.for i in range(len(a)) : i에는 요소가 아닌 0부터 마지막 인덱스까지 인덱스가 들어감. for i in range(len(a)): print(a[i])
list comprehension
ex)
a = [i for i in range(10)]a = [0,1,2, ... , 9]b = list(i for i in range(10))
c = [i+(사칙연산 다 가능) 5 for i in range(10)] #0부터 9까지 숫자를 생성하면서 값에 5를 더하여 리스트 생성
리스트 표현식에서 if 조건문 사용하기
[식 for 변수 in 리스트 if 조건식]
list(식 for 변수 in 리스트 if 조건식)
a = [i for i in range(10) if i%2 == 0 ]a = [0,2,4,6,8]
*b = [i + 5 for i in range(10) if i %2 != 0] #0~9숫자 중 홀수에 5를 더하여 리스트 생성 b = [6,8,10,12,14]
>>> a = [ i * j for j in range(2,10) for i in range(1,10)]
>>> a
[2, 4, 6, 8, 10, 12, 14, 16, 18, 3, 6, 9, 12, 15, 18, 21, 24, 27, 4, 8, 12, 16, 20, 24, 28, 32, 36, 5, 10, 15, 20, 25, 30, 35, 40, 45, 6, 12, 18, 24, 30, 36, 42, 48, 54, 7, 14, 21, 28, 35, 42, 49, 56, 63, 8, 16, 24, 32, 40, 48, 56, 64, 72, 9, 18, 27, 36, 45, 54, 63, 72, 81]
리스트 표현식에 for가 여러 개일 때 처리 순서는 뒤에서 앞으로.
a = [1.2,2.6,9.3,4.7]
a = list(map(int,a))
a
>>> a = [1,2,9,4]
*map이 반환하는 맵 객체는 이터레이터, 변수 여러개에 저장하는 unpacking 가능.
x = input().split() #결과는 문자열 리스트
m = map(int,x) #리스트의 요소를 int로 전환, 결과는 맵 객체
a,b = m #맵 객체는 변수 여러개에 저장할 수 있음
a,b = map(int,input().split())
L = []
for i in range(a,b+1)
L.append(2**i)
or
a,b = map(int,input().split())
L = [2**i for i in range(a,b+1)]
더 간단하게 가능.
'Language > Python' 카테고리의 다른 글
string (0) | 2021.07.20 |
---|---|
2D array + a (0) | 2021.07.18 |
sequence type, baekjoon quest. (0) | 2021.07.04 |
자주 쓰는 것들 (0) | 2021.04.10 |
List f(x) (0) | 2021.04.01 |