| --- | 시퀀스 | 가변/불변 | 인덱싱 | 슬라이싱 | 요소중복 |
|---|---|---|---|---|---|
| list | 시퀀스 | 가변 | o | o | o |
| tuple | 시퀀스 | 불변 | o | o | o |
| dictionary | 비시퀀스 | 가변 *key:x, value:o | x | x | o |
| set | 비시퀀스 | 가변 | x | x | x |
*dictionary = {key:value}에서 key값은 문자, 정수, 실수, 튜플만 가능함
key는 변하지 않기 때문에 가변형인 list, dictionary는 올 수 없음
✔️ tuple 변형 안됨 -> 공간차지 적음 -> 처리 속도 빠름이라는 장점이 있음
✔️ 수정해서는 안 되는 항목의 컬렉션이 있을 때
✔️ 우선 요소의 index를 찾고
✔️ index값을 입력하여 변경한다
# 리스트 안에 있는 '다영'을 '라영'으로 바꾸기
name = ['철수', '영희', '짱구', '맹구', '가영', '나영', '다영', '우주', '신비', '태희', '혜교', '지현', '원빈', '소희', '성찬', '쇼타로', '앤톤']
name.index('다영') # .index()를 사용하여 인덱스 출력
name [6] = '라영' # '다영' 을 '라영'으로 변경
print(name) # ['철수', '영희', '짱구', '맹구', '가영', '나영', '라영', '우주', '신비', '태희', '혜교', '지현', '원빈', '소희', '성찬', '쇼타로', '앤톤'] 으로 변경되어 출력됨을 확인할 수 있음
두 메소드는 비슷해 보이지만 엄연히 다른 값을 출력한다.
num = [1, 2, 5, 4, 3]
# 1
num.sort(reverse=True)
print(num) # [5, 4, 3, 2, 1] -> sort로 숫자를 정렬한 후 뒤집어 출력
# 2
num.reverse()
print(num) #[3, 4, 5, 2, 1] -> 숫자를 정렬하지 않고 뒤에서부터 차례대로 출력
Python lists have a built-in list.sort() method that modifies the list in-place. There is also a sorted() built-in function that builds a new sorted list from an iterable.
출처 https://docs.python.org/3/howto/sorting.html
a = [1, 4, 5, 2, 3]
#1 list.sort()
a.sort()
print(a) # [1, 2, 3, 4, 5] -> a가 정렬됨
#2 sorted(list)
b = sorted(a)
print(b) # [1, 2, 3, 4, 5] -> b라는 정렬된 새로운 리스트 생성
print(a) # [1, 4, 5, 2, 3] -> 원본 리스트 유지
age = 500
city = "seoul"
#1
print(f'나는 {age}살이고, {city}에 살고 있습니다.')
#나는 500살이고, seoul에 살고 있습니다.
#2
result = f'나는 {age}살이고, {city}에 살고 있습니다.'
print(result)
#나는 500살이고, seoul에 살고 있습니다.

✔️ 변수 str을 중복 사용했는지 더블 체크
✔️ 현재 파일을 저장하고 재실행 혹은 새로운 파일 만들어 실행 해본다.
-> 나의 경우 저장 후 재실행 하니 정상 작동 하였음
문제를 해결하는 과정에서 PEP8 python 라는 것을 알게 되어 짧게 나마 기록을 남긴다.
애초에 에러가 발생한 이유가 변수 이름으로 내장함수인 str을 지정했기 때문이다. 후에 이러한 에러를 최소화하기 위해 한번쯤 pep8를 읽어두면 좋을 것 같다.
PEP(Python Enhance Proposal)는 파이썬 개선 제안서 라는 의미로 그중 PEP8은 Coding Convention 제안서이다. 간단하게 말해 파이썬 코드 작성을 위한 가이드라 보면 된다. 검색하면 잘 정리된 자료들이 많이 나오기에 아래에 그 중 하나를 첨부해 두었다.
Python PEP8 알아보기
[2024. 12. 19]