본문 바로가기

분류 전체보기15

리스트안에 있는 각기다른 문자열을 통합하기 문자열들이 리스트안에서 따로따로 있다. list_str = ['a', 'b', 'c', 'd'] 이걸 'abcd'로 한번에 통합하고 싶다. 어떻게 할까? answer = "" for i in range(len(list_str)): answer += list_str[i] return answer 문자열도 리스트처럼 문자열끼리 더해질 수 있다. "a" + "b" = "ab"가 된다. 리스트에서 하나씩 꺼내서 문자열에 더했다. (리스트에서 append 느낌) 이 방법은 무난하지만 파이썬이 보기에는 멋있지 않다! 어떻게 해야 멋있을까? .join()이라는 함수를 이용하자! .join()은 리스트 사이의 원소를 붙이는 역할을 한다(리스트의 원소가 str인 경우에만). "".join()을 사용한다. list_str.. 2022. 2. 13.
빈 리스트 확인 법 stack에는 is_empty()라는 기능이 있다. 스택이 비어있는지 확인하는 기능이다. 파이썬에는 없다. 리스트가 비어있는지 어떻게 확인할까? a = [] if len(a) == 0: print("Empty") 제일 쉬운 방법은 이것이다. 하지만 이건 멋있지 않다. 멋있는 방법: a = [] if not a: print("Empty") if not 리스트: 이걸로 리스트가 비었는지 쉽게 확인할 수 있다. list1 = [] list2 = [1, 2, 3] item = 1 if item not in list1: print("list1 has no item") if item in list2: print("list2 has item") 그외) 문자열의 find와 비슷한 기능이다. item이 있으면 리스트와 .. 2022. 2. 13.
숫자를 거꾸로 쓰기 85 85라는 수가 있다. 어떻게 하면 58로 바꿀 수 있을까? 1. 85를 8과 5로 바꾼다. 2. 8과 5를 5와 8로 붙인다. 3. 5와 8을 다시 58로 붙인다. 여기서 필요한 친구가 있다. 바로 '문자열이다.' int 85 vs str(85) str(85) #"85" int 85는 하나의 정수지만 , str(85)의 경우, 85가 아닌! 8과 5를 따로따로 취급한다. 문자열은 리스트와 함수가 많이 겹친다. 문자열도 리스트처럼 거꾸로 슬라이싱할 수 있다! "85"[::-1] #"58" 문자열을 다시 정수로 바꾸는 경우 int()만 씌우면 된다. 결론) int(str(85)[::-1]) 2022. 2. 13.
리스트 슬라이싱 리스트 슬라이싱이란 리스트에서 원하는 인덱스에 해당하는 원소를 꺼내는 일이다. L[0] L의 제일 처음 원소를 반환 1 L[1] L[1]은 1번째 원소 2 L[-1] L[-1]은 L의 마지막 원소가 나온다. 7 마지막 인덱스는 얼마일까? 그건 바로 len(L)-1이다! 리스트의 길이에서 1을 빼면 된다. 왜? 0을 포함하기 때문이다. L[0:4] 이것은 L의 0번째 원소부터 3번째 원소까지 나온다. 0이상 4미만이라는 점을 잊지말자. L[:] 이것은 L의 모든 원소를 반환한다. L[::-1] 이 의미는 L이란 리스트의 모든 원소를 거꾸로 출력한다는 뜻이다. 그외) boolean slicing boolean slicing이란 리스트내에서 해당 원소의 조건을 만족하는 원소를 반환한다. 2022. 2. 12.