이 포스트는 개인적으로 공부한 내용을 정리한 글입니다.
자세한 내용은 아래 참고자료를 봐주시면 감사하겠습니다.
list와 Tuple의 조작방법은 거의 같은것 같습니다.
저는 알고있던 내용이라 간단하게 코드만 남기겠습니다.
또한 리스트의 추가 및 삭제와 같은 변경을 제외한 나머지 코드는 tuple에서도 사용 가능합니다. (아마도~)
>>> a = [10, 20]
>>> a.append([50, 60]) # 마지막 인덱스에 추가
>>> a
[10, 20, [50, 60]]
>>> a = [10, 20]
>>> a.extend([50, 60]) # 마지막 인덱스부터 연장
>>> a
[10, 20, 50, 60]
>>> a.remove(20) # 20값을 가진 index 삭제
>>> a.pop() # 마지막 인덱스 삭제 및 해당 값 반환
>>> a.index(50) # 50이라는 값이 있는 인덱스 반환
>>> a = [10, 20, 30, 40, 10, 10, 20, 50]
>>> a.count(10) # 값이 10인 인덱스의 갯수 반환
3
>>> a.reverse()
>>> a
[50, 20, 10, 10, 40, 30, 20, 10]
>>> a.sort(reverse=False) # reverse=False가 default
>>> a
[10, 10, 10, 20, 20, 30, 40, 50]
>>> a.sort(reverse=True)
>>> a
[50, 40, 30, 20, 20, 10, 10, 10]
>>> a.clear()
>>> a
[]
>>> a = [10, 20, 30, 40, 10, 10, 20, 50]
>>> a[len(a):] = [1000]
>>> a
[10, 20, 30, 40, 10, 10, 20, 50, 1000]
>>> a[len(a):] = 1000 # Error 발생
Error
>>> del a[1:3]
>>> a
[10, 40, 10, 10, 20, 50, 1000]
>>> del a[:]
>>> a
[]
>>> a = [0,0,0,0,0]
>>> b = a # 참조변수이기에 주소값 공유
>>> a, b
>>> id(a), id(b) # 주소가 같다
>>> b.append('b')
>>> a.append('a')
>>> a, b
>>> a is b # True
>>> a == b # True
>>> a = [0,0,0,0,0]
>>> b = a.copy() # 값이 같은 새로운 객체를 생성
>>> a, b
>>> id(a), id(b) # 주소가 다르다
>>> a == b # True
>>> a is b # False
>>> b.append('b')
>>> a.append('a')
>>> a, b
>>> a = [10, 20, 30]
>>> b = [1, 2, 3]
>>> c = a + b
>>> c # extend와 같다.
[10, 20, 30, 1, 2, 3]
>>> a = [1, 2, 3]
>>> b = a * 3
>>> b # n번 반복, 0이나 음수를 곱하면 빈 배열이 나온다
[1, 2, 3, 1, 2, 3, 1, 2, 3]
# 배열의 가장 작은 수 찾기
a = [456, 4, 123, 45, 78, 45, 784, 54, 265847, 45, 487, 12135]
smallest = a[0]
for i in a:
if smallest > i:
smallest = i
smallest
## sort 사용
a = [456, 4, 123, 45, 78, 45, 784, 54, 265847, 45, 487, 12135]
a.sort()
a[0] # 가장 작은 수
a.sort(reverse=True)
a[0] # 가장 큰 수
## min, max 함수 사용
min(a)
max(a)
# 요소의 합
>>> a = [456, 4, 123, 45, 78, 45, 784, 54, 265847, 45, 487, 12135]
>>> x = 0
>>> for i in a:
... x += i
>>> x
280103
## sum 사용
>>> sum(a)
280103
>>> a = ["string", "int", "float"]
>>> sum(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>> max(a) # 알파벳 순서로 가장 큰 요소
'string'
>>> min(a) # 알파벳 순서로 가장 작은 요소
'float'
# List comprehension
a = [i for i in range(0, 10) if i % 2 == 0]
a
a = [i + 6 for i in range(2, 19, 2) if i < 15] # 2이상 19 미만의 2씩 늘어나는 배열을 만드는데 15 미만이여야하며 6을 더한다
a
# List comprehension을 사용하여 구구단 만들기
a = [i * j for i in range(2, 10) for j in range(1, 10)]
a
# 위의 구구단을 for문으로 만들어 string으로 변경하려고 한다.
a = []
for i in range(1, 10):
for j in range(2, 10):
a.append(str(i * j))
a
# 아래와 같이 map을 사용하면 쉽게 변환할 수 있다.
b = list(map(int, a))
b
b = list(map(float, b))
b
# input으로 받은 숫자를 쉽게 변환할 수 있다.
# a = int(input("숫자를 여러개 입력해주세요: ").split()) # 에러발생함
a = map(int, input("숫자를 여러개 입력해주세요: ").split())
a # <map object at 0x0000017D1A5B59C0>
list(a) # [2, 3, 5, 1, 2312]
# 입력받은 문자열 형태의 숫자를 int로 변경하여 각 변수에 바로 할당하기
a, b, c = map(int, input("숫자를 3개 입력하세요: ").split())
a
b
c
>>> a = ['alpha', 'bravo', 'charlie', 'delta', 'echo', 'foxtrot', 'golf', 'hotel', 'india']
>>> b = [i for i in a if len(i) == 5] # 리스트 a에서 하나씩 가져오는데, 문자열 길이가 5인 요소만 가져온다
>>> b
['alpha', 'bravo', 'delta', 'hotel', 'india']