밤하늘공작소
Python 리스트 활용 팁 본문
python에서는 리스트를 많이 활용합니다. 하나의 값이 아닌 여러 가지의 값을 변수에 넣고 싶을 때 사용합니다. 이러한 리스트를 활용할 때 사용할 수 있는 팁을 드리겠습니다.
1. 리스트 값 존재 여부 확인
실제로 우리가 알아서 리스트 안에 값이 있는지 확인하는 코드를 만드는 것은 힘듭니다. for 또는 while 문을 이용해 리스트의 길이만큼 반복하는 반복문을 만들고, 그곳에서 찾고 있는 값이 있다면, True를 없다면 False를 리턴하게 해야 합니다. 물론 함수로 저장해놓으면, 계속 사용할 수 있지만, 그렇게 할 필요가 없습니다.
python에서는 "in"이라는 것이 있습니다. 이러한 코드를 적어보겠습니다.
numbers = [1, 3, 5, 7, 9]
print(3 in numbers)
print(10 not in numbers)
이 두 print 문은 True를 리턴합니다. in은 리스트에 값이 있을 경우 True, 없을 경우 False를 리턴합니다. 만약 in 앞에 not을 붙인다면 반대로 작용합니다.
2. 리스트 정렬하기
python에서는 리스트를 정렬하는 방법은 2가지가 있습니다. sort와 sorted입니다. 둘의 차이점은 sort는 리스트를 정렬만 해주고, sorted는 어떤 리스트를 정렬해서, 그것을 값으로 넘겨줍니다. 이 밑에 코드를 보면 이해할 수 있습니다.
numbers = [1, 5, 3, 9, 7]
numbers2 = [2, 6, 4, 8]
numbers.sort()
sorted(numbers2)
print(numbers)
print(numbers2)
출력을 해보면 numbers는 정렬이 되었지만, numbers2는 정렬이 되지 않은 것을 알 수 있습니다. 왜냐하면, sorted는 정렬을 한 리스트를 "새로운" 리스트로 변환하기 때문입니다. 그래서 이렇게 코드를 바꾼다면, 정렬이 된 상태로 나옵니다.
numbers = [1, 5, 3, 9, 7]
numbers2 = [2, 6, 4, 8]
numbers.sort()
numbers3 = sorted(numbers2)
print(numbers)
print(numbers3)
sorted 함수로 반환된 정렬된 numbers2 리스트를 numbers3에 넣고 numbers3을 출력하면, 정렬된 리스트가 잘 출력되는 것을 알 수 있습니다.
3. 인덱스 선택
인덱스 선택은 대부분 숫자로 값을 선택합니다. 하지만, 반대로 값으로 인덱스를 선택할 수 있는 방법이 있습니다.
people = ["로버트", "마이클", "매리", "패트리샤"]
print(people.index("로버트"))
print(people.index("매리"))
이 코드를 출력해보면, 0과 2가 출력이 됩니다. 이렇게 실제로 들어있는 값을 가지고, 몇 번 인덱스에 있는지를 찾을 수 있습니다.
4. 리스트 값 삭제하기
리스트에서 값을 삭제하는 방법도 두가지가 있습니다. 인덱스를 선택하는 것과 마찬가지로 인덱스의 값과 번수로 삭제할 수 있습니다.
people = ["로버트", "마이클", "매리", "패트리샤"]
people.remove("로버트")
print(people)
del people[1]
print(people)
이 코드는 "['마이클', '매리', '패트리샤'] ['마이클', '패트리샤']" 이러한 값을 출력합니다. remove로는 실제 인덱스 값으로 삭제할 수 있습니다. del 키워드를 사용하면, 리스트 뒤에 대괄호 안에 번수를 적어주면 삭제할 수 있습니다.
'코딩 > Python' 카테고리의 다른 글
Python 리스트 Numpy 리스트 차이점 (0) | 2022.10.21 |
---|---|
Python에서 문자 자르기 (0) | 2022.07.22 |
Python에서 포맷팅하기 (0) | 2022.06.28 |
Python에서 문자를 숫자형으로 바꾸기 (0) | 2022.06.20 |
Python 에서 사용자의 입력 받기 (2) | 2022.06.17 |