본문 바로가기

Iteration3

파이썬(Python) 두 개의 리스트를 동시에 순회하기 두 개의 리스트를 동시에 순회(iteration)하는 방법은 zip() 을 통해서 가능합니다. 튜플(tuple)이나 딕셔너리(dictionary)등의 iterable이면 무엇이든 zip()으로 사용할 수 있습니다. one = [1, 2, 3] two = [4, 5, 6] for i, j in zip(one, two): print(i, j) # 1 4 # 2 5 # 3 6 만약 리스트의 크기가 다르다면 갯수가 적은 리스트만큼만 순회(iteration)를 하게 됩니다. one = [1, 2] two = [4, 5, 6, 7] for i, j in zip(one, two): print(i, j) # 1 4 # 2 5 zip() 안에 들어가는 인자를 섞어서 사용할 수 도 있습니다. 아래 예제에선 리스트와 튜플을.. 2020. 9. 13.
파이썬(Python) yield 키워드 이해하기 파이썬 코드를 보다면 yield라는 녀석이 종종 보이긴 하는데 그 의미가 직관적으로 와닿지는 않습니다. 이 포스팅에서 조금 쉽게 yield를 이해 해보는 시간을 갖도롤 하겠습니다. yield를 이해하기 위해서는 Iterable과 Generator를 이해하고 있어야 합니다. Iterable을 알아보기 위해 리스트는 순회하면서 리스트 아이템들을 출력하는 코드를 작성했습니다. my_list = [1, 2, 3] for i in my_list: print(i) # 1 # 2 # 3 위의 코드에서 my_list는 Iterable입니다. 즉, for ~ in ~ 구문에 넣어서 그 아이템들을 순회(Iteration) 할 수 있는 것들은 모두 Iteration이라고 볼 수 있습니다. 그래서 Iteration 가능한 딕.. 2020. 9. 11.
파이썬(Python) 리스트 for 루프 중(iteration) 특정 아이템 제거하기 리스트(list)를 for나 while로 iteration 하는 도중에 특정 아이템을 제거하고자 할때는 아래와 같이 list comprehension 을 사용하면 됩니다. mylist = [x for x in mylist if check_if_valid(x)] 아래 예제 코드로 확인해 볼께요. 이 예제는, 리스트를 순회하면서 음수들을 제거하는 코드입니다. # 아이템 x가 0 또는 양수면 True, 음수면 False 반환 def check_if_valid(x): if x >=0: return True return False mylist = [-1, 2, 10, -100, 0, 5, 7, -3] mylist = [x for x in mylist if check_if_valid(x)] print(mylist).. 2020. 9. 10.