스터디
[파이썬 벼락치기] List | Tuple | Set | Dictionary
imgani
2023. 8. 13. 00:15
- 기간 : 2023-08-11 ~ 08-13 (2,3일차)
1. List
# 리스트 활용
li = ['a','b','c','d','e']
li.index('c') # 위치 찾기
li.append('f') # 추가하기1 - 맨 뒤에
li.insert(0,'aa') # 추가하기2 - 원하는 곳에
li.remove('aa') # 삭제하기1
del li[0] # 삭제하기2 - 위치로 삭제
'b' in li # 리스트에 있는지 확인
len(li) # 리스트 개수 확인
li.count('b') # 리스트 안의 문자 개수 세기
num = [1,2,3,4,5,9,7,6,8,10]
sum(num) # 합계
min(num) # 최소값
max(num) # 최대값
num.reverse() # 역순 만들기
num.sort() # 오름차순 정렬
num.sort(reverse=True) # 내림차순 정렬
2. Tuple
# 튜플 활용
tu = ('a', 'b', 'c')
tu.index('a') # 위치 찾기
'b' in tu # 튜플 안에 있는지 확인하기
len(tu) # 전체 개수
tu.count('a') # 개수 세기
num = (5,7,9)
n1,n2,n3 = num # 변수 할당하기
a = '안녕'
b = '미니'
(a,b) = (b,a) # 값 교환하기
li = ['a','b','c','d','e','f']
tuple(li) # 리스트 -> 튜플
tu = ('a','b','c')
list(tu) # 튜플 -> 리스트
3. Set
- 세트 만들기
se = set()
se = {} # 사용 불가능 -> 딕셔너리때문에
- 특징
a = {2,4,6,8}
a
{8, 2, 4, 6} # 특징(1) 순서 x
b = {1, 1, 2, 5, 5}
b
{1, 2, 5} # 특징(2) 중복 x
- 활용
a = {2,4,5,8}
a.add(3) # 추가하기
a.remove(8) # 삭제하기
2 in a # 확인하기
len(a) # 전체 개수
sum(a) # 합 구하기
min(a) # 최소값 찾기
max(a) # 최대값 찾기
a1 = list(a) # 리스트 만들기
a2 = tuple(a1) # 튜플 만들기
a = {1,2,3}
b = {2,3,4}
a&b # 교집합
a|b # 합집합
a-b # 차집합
a^b # 대칭 차집합
4. Dictionary
- 형태 : { 키:값, 키:값, 키:값 }
- 특징
# 딕셔너리 특징
dic = { 'a':10, 'b':20, 'c':30 }
dic[0] # 인덱스 사용 불가
dic['a'] # 키로 값에 접근
dic['d'] = 40 # 키:값 형태로 추가 가능
- 활용
del dic['a'] # 삭제하기
dic.clear() # 전체 삭제
'a' in dic # 확인하기 (키 기준)
len(dic) # 전체 개수
dic.keys() # 모든 키 얻기
dic.values() # 모든 값 얻기
dic.items() # 모든 순서쌍 얻기
5. 리스트의 활용
- 문자열 입력받기
# 문자 입력받아 공백 기준 자르기
li1 = input('입력하세요: ').split()
print(li1)
# 문자 입력받아 전체 자르기
li2 = list(input('입력하세요: '))
print(li2)
- 숫자 입력받기
# 숫자 하나씩 입력받기
li3 = []
li3.append(int(input('숫자 입력: ')))
li3.append(int(input('숫자 입력: ')))
li3.append(int(input('숫자 입력: ')))
# 숫자 여러개 입력받기
li4 = list(map(int,input('숫자 여러개 입력: ').split()))
6. 리스트와 제어문
- 리스트와 for문
# for문으로 리스트 값 추가
li = []
for i in range(10) :
li.append(int(input('숫자입력: ')))
# for문으로 리스트 값 하나씩 출력
li = [1, 2, 3, 4, 5, 6]
for i in range(len(li)) :
print(li[i])
for i in li :
print(i)
- 리스트 분리하기
# 리스트 분리하기 - 문자 입력 받고 분리해서 리스트 만들기
li = list(input('문자입력: '))
up = []
low = []
for i in li :
if i.isupper() :
up.append(i)
elif i.islower() :
low.append(i)
print(up)
print(low)