지방이의 Data Science Lab

[python] 리스트 자료형(3) 대체, 삭제, .remove('x'), .pop(n), .insert(n, b), .extend([x1, x2]), .append('x') 본문

Data Analysis/Codility

[python] 리스트 자료형(3) 대체, 삭제, .remove('x'), .pop(n), .insert(n, b), .extend([x1, x2]), .append('x')

[지현] 2021. 1. 8. 21:55

#대체: 인덱싱 이용

리스트 값을 대체할 수 있다.

1
2
3
4
5
6
7
8
= ['a''b''c''d']
a[0= 'e'
print(a)
# ['e', 'b', 'c', 'd']
 
a[0:2= ['f''g']
print(a)
#['f', 'g', 'c', 'd']

#삭제(1): 인덱싱 이용

1
2
3
a[0:2= []
print(a)
#['c', 'd']

#삭제(2): del 이용

1
2
3
4
= ['a''b''c''d']
del a[0]
print(a)
# ['b', 'c', 'd']

#삭제(3): .remove('x') 혹은 list comprehension

.remove( )는 중복되는 모든 걸 지워주지 않는다. 맨 앞에 하나만 지움.

전체를 지우고 싶다면 [i for i in a if i != 1]를 이용

 

1
2
3
4
5
6
7
= [1,2,4,6111 ]
a. remove(1)
print(a)
# [2, 4, 6, 1, 1, 1]
 
print([i for i in a if i != 1])
# [2, 4, 6]

 

두 리스트를 비교해서 삭제하는 경우는 아래와 같다.

1
2
3
4
5
6
7
= [1,2,3,3,3,3,4]
= [1,3]
print([i for i in a if not i in b ])
# # [2, 4]
 
print([i for i in a if not i in b or b.remove(i)])
# # [2, 3, 3, 3, 4]
 

# 요소 꺼내기: .pop(n)

.pop(n): n번째 인덱스를 꺼내고 리스트에서 없애라

1
2
3
4
5
6
7
8
9
10
11
= [1,2,3,4,5,6,7,8]
print(a.pop())
# 8
print(a)
# [1, 2, 3, 4, 5, 6, 7]
 
 
print(a.pop(1))
# 2
print(a)
# [1, 3, 4, 5, 6, 7]

# 삽입(1): .insert(n, b) 

n번째 인덱스에 b를 삽입해라

1
2
3
4
= [1,2,4,6]
a. insert(1,9)
print(a)
# [1, 9, 2, 4, 6]

# 삽입(2): .extend([x1, x2])

리스트 꼬리 쪽에 연장시키는 것

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

# 삽입(3): 덧셈/곱셈 & .append('x')

 

 

1
2
3
4
5
6
7
8
= [1,2,3,4]
= a+[5,6]
print(a)
# [1, 2, 3, 4, 5, 6]
 
a.append(7)
print(a)
# [1, 2, 3, 4, 5, 6, 7]
cs
Comments