
내가 자주 사용하는 함수 및 메서드를 적어놓아야겠다 !
for 구문을 돌리는 함수를 만들어 진행하는 방법도 있지만, in , not in 사용하면 간편하다 : ) (물론 불린값만 반환하기에 정확한 인덱스를 알기 위해사는 for이 필요하긴 하다 ㅎㅎ)
리스트 안에 요소값은 어느 데이터 타입이든 사용 가능하다. 문자열, 불린값, 숫자 모두 in 사용 가능
dummy = [1,4,6,7]
print(8 in dummy) # False 불린 값으로 반환
데이터 전처리할 때 nested list를 사용하는 경우가 정말 많은데, 생각보다 엄청 간단하다. 나같은 경우는 해당 기능을 함수로 만들어 필요할 때마다 원하는 만큼 중첩 리스트를 양산(?)한다 ㅎㅎ
def create_n_list(n):
list_of_list = []
for _ in range(n):
list_of_list.append([])
return list_of_list
-> for _ in range(n): 에서 _ 는 보통 해당 값을 사용하지 않고, loop 자체의 횟수만 포커스를 할 때 사용을 한다. 그 때 돌아가는 값 자체를 ignore!
즉,반복대상에서 요소를 변수에 할당할 필요가 없을 때 쓴다 :)
- commonly used as a variable name when you intend to ignore the acutal value being interated over.
- the value of range(n) will not be used, just loop n times
- convention to indicate that the value is not going to be used within the loop body
여기서 x는 리스트
sorted(x) 함수x.sort() 메서드x.reverse()메서드x.sort(reverse = True)x.remove(특정값)del x[위치]만약 하나 값이 아닌 전체를 삭제하고 싶다면?
사실 위 경우 모두 인덱스 기반으로 삭제가 되고 기존 리스트에서 변경이 되는 건이기에, 리스트의 갯수가 삭제를 진행할 때마다 달라진다. 그래서 하기 두가지 방법을 주료 사용한다.
- `append` & list comprehension
# 1 append
dummy = [1,3,5,1,7,1]
new_dummy = []
for i in dummy:
if i != 1:
new_dummy.append(i)
print(new_dummy) # >> [3, 5, 7]
# 2. List comprehension
dummy = [i for i in dummy if i!= 1]
print(dummy) # >> [3, 5, 7]
# 복사본 바로
dummy = [1,3,5,1,7,1]
for i in dummy[:]: # dummy[:] dummy의 복사본
if i == 1:
dummy.remove(i)
print(new_dummy) # >> [3, 5, 7]
# 복사본 다른 변수 지정
dummy = [1,3,5,1,7,1]
temp = dummy[::]
for i in temp:
if i == 1:
dummy.remove(i)
print(dummy) # >> [3, 5, 7]
# 3 하나씩 값을 없애는 구조, 해당 값이 몇개인지 먼저 확인이 필요
numbers = [1,2,3,2,2,2,3,4]
def remove_all_value(element, target):
for _ in range(len(target)):
try:
target.remove(element)
except:
pass
return target
remove_all_value(3, numbers)
print(numbers)
members = ["a","b", "c"]
print(members.index("c"))