파이썬(Python)

(4) 파이썬(Python)이란? - Lists [Hellfer]

Hellfer 2024. 7. 12. 13:16
728x90

 

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)

 

 

728x90