(4) 파이썬(Python)이란? - Lists [Hellfer]
https://www.kaggle.com/code/colinmorris/lists
Lists
Explore and run machine learning code with Kaggle Notebooks | Using data from No attached data sources
www.kaggle.com
위의 글을 보고 참고하여 작성하였습니다.
목록(list)은 순서가 지정된 값의 시퀀스를 나타냅니다.
대괄호 []를 사용하여 생성하며, 쉼표로 구분된 값을 포함합니다.
primes = [2, 3, 5, 7]
다른 유형의 값도 넣을 수 있습니다.
planets = ['Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
리스트 안에 리스트를 만들 수 있습니다.
hands = [
['J', 'Q', 'K'],
['2', '2', '2'],
['6', 'A', 'K'], # 마지막 요소에 쉼표를 선택
]
# 한 줄로 코드를 작성하면 가독성이 떨어질 수 있습니다.
hands = [['J', 'Q', 'K'], ['2', '2', '2'], ['6', 'A', 'K']]
리스트 안에 여러 가지 타입을 포함할 수 있습니다.
my_favourite_things = [32, 'raindrops on roses', help]
대괄호 []를 사용하여 개별 목록 요소에 포함할 수 있으며, 인덱스는 0부터 시작합니다.
이를 통해 특정 위치에 있는 요소를 쉽게 가져올 수 있습니다.
planets[0]
'Mercury'
planets[1]
'Venus'
리스트 목록 마지막에 있는 요소는 planets [-1]로 가져올 수 있습니다.
planets[-1]
'Neptune'
planets[-2]
'Uranus'
슬라이싱(Slicing)은 목록의 부분 집합을 추출하는 데 사용됩니다.
대괄호 [] 안에 시작 인덱스와 끝 인덱스를 : 클론으로 구분하여 지정합니다.
시작 인덱스부터 끝 인덱스 직전까지의 요소들이 포함됩니다.
planets[0:3]
['Mercury', 'Venus', 'Earth']
0부터 3까지인 ['Mercury', 'Venus', 'Earth', 'Mars']가 아닌 인덱스 0부터 2까지의 요소를 포함하는 목록의 부분 집합을 반환합니다.
시작 인덱스를 생략하면 0으로 간주됩니다.
planets[:3]
['Mercury', 'Venus', 'Earth']
끝 인덱스를 생략하면 목록의 길이로 간주하여 목록의 끝까지 포함됩니다.
planets[3:]
['Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
슬라이싱 할 때 음수 인덱스도 사용할 수 있습니다.
# 처음과 마지막 행성을 제외한 모든 행성
planets[1:-1]
['Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', Uranus']
# 마지막 3개 행성
planets[-3:]
['Saturn', 'Uranus', 'Neptune']
목록은 변경 가능하므로 인덱스 또는 슬라이스 표현식을 사용하여 목록의 요소를 수정할 수 있습니다.
특정 인덱스의 요소를 다른 값으로 변경하거나 슬라이스를 사용하여 여러 요소를 한 번에 변경할 수 있습니다.
planets[3] = 'Malacandra'
planets
['Mercury', 'Venus', 'Earth', 'Malacandra', 'Jupiter', 'Saturn', Uranus', 'Neptune']
planets[3:] = ['Mur', 'Vee', 'Ur']
print(planets)
planets[:4] = ['Mercury', 'Venus', 'Earth', 'Mars',]
['Mur', 'Vee', 'Ur', 'Malacandra', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
len함수는 목록의 길이(요소의 개수)를 반환합니다.
len(planets)
8
sorted함수는 원래의 목록을 반환하지 않고, 정렬된 새 목록을 반환합니다.
sorted(planets)는 원래의 planets 목록을 알파벳 순서로 정렬된 새로운 목록을 반환합니다.
sorted(planets)
['Earth', 'Jupiter', 'Mars', 'Mercury', 'Neptune', 'Saturn', 'Uranus', 'Venus']
sum 함수는 리스트 목록의 합계를 반환합니다.
primes = [2, 3, 5, 7]
sum(primes)
17
객체는 데이터(속성)와 해당 데이터에 작용하는 코드를 포함하며 특정 클래스의 인스턴스로, 클래스는 객체의 구조와 동작을 정의합니다.
상태 : 객체가 가지는 데이터나 속성입니다. 숫자 객체의 값이나 문자열 텍스트가 해당됩니다.
행동 : 객체가 수행할 수 있는 동작이나 메서드입니다. upper() 메서드나 리스트 객체의. append() 메서드가 이에 해당합니다.
숫자 객체는 허수부를 나타내는 imag 속성을 가지고 있습니다.
x = 12
print(x.img)
x = 12 + 3j
print(c.iag)
0
3.0
속성은 객체가 가지고 있는 데이터나 상태를 나타내고, 메서드는 객체 들어가 수행할 수 있는 기능이나 동작을 나타냅니다.
bit_length 메서드는 숫자를 이진수로 표현할 때 필요한 비트의 수를 반환합니다.
x = 42
bit_length_of_x = x.bit_length()
이진수는 101010으로 6이 반환됩니다.
list.append() 메서드는 리스트의 끝에 항목을 추가하는 기능을 합니다.
# 리스트 생성
planets = ['Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
# 리스트 끝에 항목 추가
planets.append('Pluto')
# 리스트 출력
print(planets)
리스트를 직접 수정하므로, 호출 시 반환값이 없습니다.
list.pop() 메서드는 리스트의 마지막 요소를 제거하고 그 요소를 반환합니다.
planets = ['Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune', 'Pluto']
# 마지막 요소를 제거하고 반환
last_planet = planets.pop()
print(last_planet) # 출력: Pluto
print(planets) # 출력: ['Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
list.index() 메서드는 리스트에서 특정 요소의 인덱스를 반환합니다.
planets.index('Earth')
2
in 연산자를 사용해 목록에 특정 값이 포함되어 있는지 알아볼 수 있습니다.
'Earth' in planets
True
'Calbefraques' in planets
False
튜플(Tuple)은 파이썬에서 리스트와 비슷한 순서가 있는 컬렉션 입니다.
튜플을 생성하는 구문은 대괄호([]) 대신 괄호()를 사용하며, 튜플은 한 번 생성된 튜플의 요소는 변경할 수 없습니다.
t = (1,2,3)
TypeError : 'tuple' 개체는 불변성하다는 특징으로 요소를 변경할 수 없습니다.
t[0] = 100
as_integer_ratio() 메서드는 튜플 형식으로 분자와 분모를 반환합니다.
x = 0.125
x.as_integar_ratio()
(1, 8)