Programming Tools/Python_파이썬

[Python] 자료형의 메서드, 컨테이너 - 리스트

LiDARian 2021. 10. 18. 13:00
반응형


자료형의 메서드

 

from typing import AsyncGenerator


a = 3
print(bin(a))
print(a.bit_length())

a = 10
print(bin(a))
print(a.bit_length())

c = 1 + 2j
print(c.conjugate())
print(c.real)
print(c.imag)

# 문자열 메서드
name = 'dongsoo'
name = name.capitalize()
print(name.count('o'))

print(name.split('f')) # 지정한 문자 좌우로 잘라서 리스트 반환
print(name.split('g'))
print(name.split('o'))

# 특수문자처리 \
s1 = 'abc\\ndef'
s2 = 'abc\ndef' # 이경우 escape sequence로 인식된다.
print(s1)
print(s2)

# 문자열 기능
s = 'python'
print(s + s)
print(s * 3)

# input 함수 : 무조건 문자열로만 입력받음.
# 숫자를 받으려면 int(), float()등을 해줘야함
# age = int(input('enter age : '))
a = input('enter value : ')
print(a)


# dir() : 현재 프로그램에서 다루는 변수를 보여준다.
print(dir())
del a # 변수 삭제
print(dir())

# 다른 추가 기능
a = 1
b = 2
print(a.__eq__(b))

# 한 번에 여러 변수 초기화
a, b = 10, 10
print(a.__eq__(b))
a, b  = 1, 2
print(a, b)
a, b = b, a
print(a, b)

 

 



컨테이너 중... 리스트

# Container

# list : 자료추가, 제거, 변경 가능
# tuple : 자료변경불가
# set : 자료의 중복 확인 가능
# frozenset : set과 같으나 변경 불가
# dictionary : key-value의 일대일 대응

# List의 method
# indexing
names = ['qwer', 'asdf', 'zxcv']
print(names[0])
print(names[1])
print(names[2])
print(names[-1])
print(names[-2])


# slicing - 시작위치:끝나는위치(미포함):jump크기
numbers = [1,2,3,4,5,6,7,8,9,10]
print(numbers[:])
print(numbers[0:4:1])
print(numbers[0::1]) # 끝까지
print(numbers[0::3])
print(numbers[0:3])
print(numbers[-1::-1])
print(numbers[-1:1:-1])

# 다중 리스트 : 여러 줄로 표현 가능
lst = [[1,2,3],
        [4,5,6],
        [7,8,9]]
print(lst)
print(lst[1][2])

# + *
print(names + names)
print(names * 3)

# 얕은 복사
new_names = names
names[0] = 'new!'
print(names[0])
print(new_names[0])

# 깊은 복사
new_names = names.copy()
names[0] = 'copy'
print(names[0])
print(new_names[0])

# list method 3
numbers2 = [11,12,13,14,15]
numbers.extend(numbers2) # 리스트 잇기
print(numbers)
# numbers = numbers + numbers2
# numbers += numbers2

numbers.append(100) # 원소 추가
print(numbers)

numbers.append('Kepler')
print(numbers)

numbers.pop() # 맨 뒤 원소 제거
print(numbers)

numbers.clear() # 리스트 비우기
print(numbers)

numbers.insert(0, 1) # 위치, 원소
numbers.insert(1, 2)
numbers.insert(2, 3)
numbers.insert(2, 4) # 기존 원소 뒤로 밀어내고 추가된다.
numbers.insert(5, 5) # 인덱싱 사이즈 넘어가면 맨 뒤로 배치된다.
print(numbers)

print(numbers.index(1)) # 인덱스 위치
print(numbers.index(4))

print(numbers.count(2)) # 개수
print(numbers.count(8))

numbers.sort() # 순서대로
print(numbers)

numbers.reverse() # 거꾸로 배치
print(numbers)
# numbers = numbers[-1::-1]
반응형