<자료구조>
#리스트(List): 여러 element들을 묶어 줌
두 가지 형태로 나타낼 수 있음.
x=list()
y=[]
숫자, 문자, 숫자+문자를 리스트로 묶어 보자
x=[1,2,3,4]
y=["hello", "world"]
z=["hello",1,2,3]
print(x)
print(y)
print(z)
↓
[1,2,3,4]
["hello", "world"]
["hello", 1,2,3]
리스트 끼리 덧셈도 가능하다
x=[1,2,3,4]
y=["hello", "world"]
print(x+y)
↓
[1,2,3,4, "hello", "world"]
element하나를 지정해 출력할 수 있음
x=[1,2,3,4]
print(x[0]) -> x의 0번째 자리에 있는 element
↓
1
리스트의 elemrnt를 지정해 바꿔칠 수도 있음
x=[1,2,3,4]
x[3]=10 -> x의 3번째 자리에 있는 element를 10으로 바꿔라
print(x)
↓
[1,2,3,10]
리스트에서 다루어지는 function들을 익혀보자
*len() -> 리스트의 사이즈(원소의 개수)를 알 수 있는 명령
x=[1,2,3,4]
a=len(x)
print(a) or 그냥 print(len(x))
↓
4
*sorted() -> 리스트의 원소들 순서를 작은 순부터 나열시킴
x=[4,2,3,1]
a=sorted(x)
print(a) or 그냥 print(sorted(x))
↓
[1,2,3,4]
*sum() -> 리스트의 원소들을 전부 합침
x=[1,2,3,4]
a=sum(x)
print(a) or 그냥 print(sum(x))
↓
10
심화) 리스트에 반복문을 적용
x=[4,3,2,1]
for n in x;
print(n) -> 리스트에 있는 element를 n에 하나씩 넣어가면서 보여주라는 명령
↓
4
3
2
1
문자로도 응용을 해보자
y=["hello", "there"]
for c in y:
print(y)
↓
hello
there
*index() -> 리스트에서 element의 위치 찾기
x=[1,2,3,4]
print(x, index(3)) -> x라는 리스트에서 3이라는 element는 몇 번째 자리에 있나
↓
2 -> 3번째 자리에 있다.
*in() -> 리스트에 이 element가 존재하는지 여부만 알고 싶다.
x=[1,2,3,4]
print(3 in x) -> x라는 리스트에 3이라는 element가 존재하는가?
↓
True
응용) 조건문으로 만들어보자
y=["hello", "world"]
if "hello" in y:
print("hello가 있어요.")
↓
hello가 있어요.
#튜플(Tuple)
두 가지 형태로 나타낼 수 있음.
x=tuple()
y=()
리스트와 유사하게 숫자나 문자를 넣고 서로 합치는 것이 가능함
+리스트와 튜플의 차이점: 튜플은 내부 element를 Assignment(업데이트)할 수 없음
즉, 리스트는 mutable(가변) 튜플은 immutable(불변)
#딕셔너리(Dictionary)
두 가지 형태로 나타낼 수 있음.
x=dict()
y={}
x[a] -> x라는 딕셔너리에 a라는 key의 value
*딕셔너리는 key와 value로 이루어짐
x={
"name": "성중",
"age": 21
} -> name, age가 key / 성중, 21이 value (쉼표 주의!)
print(x["name"]) ~key를 입력해 value를 출력
->성중
key에는 ‘불변하는 값’만 들어감 (리스트는 ‘가변’이기 때문에 딕셔너리의 key로 사용X)
딕셔너리에 다양한 타입을 넣어보자
x={0="hello",
1="성중",
"age"=20
}
*print (“A” in x) ->x라는 딕셔너리에 A라는 key의 존재여부를 알고 싶을 때
*print(x, keys()) -> x라는 딕셔너리에 있는 모든 key 나열
*print(x, values()) -> x라는 딕셔너리에 있는 모든 value 나열
*딕셔너리에 for 반복문을 응용해보자
for key in x:
print(key) -> key 순서대로 출력
print(x[key]) -> value 순서대로 출력
깔끔하게 응용
for n in x:
print("key:"+str(n))
print("value:"+str(x[n]))
*딕셔너리 key의 value를 바꿔칠 수 있음
x[0]="개구리" -> 0의 key의 value가 "개구리"로 교체됨
*딕셔너리에 새로운 key와 value값을 추가할 수도 있음
x["school"]="HUFS" -> 딕셔너리에 "school"이라는 key와 그에 대한 "HUFS"라는 value가 추가됨
연습문제)
fruit = ["사과", "사과", "바나나","바나나","딸기", "키위", "복숭아", "복숭아", "복숭아" ]
#먼저 과일의 총 개수 구하는 코드!
print("총"+str(len(fruit))+"개의 과일이 있습니다.")
#이제 이 리스트의 과일 수를 각각 세는 프로그램을 짜봅시다!
d={}
for f in fruit: #fruit이라는 리스트에 있는 f(임의의 원소)에 대해서~
if f in d: #f라는 key가 d라는 딕셔너리에 들어있어?
d[f]=d[f]+1 #그럼 f의 value 값을 하나 올려줘
else:
d[f]=1 #만약 f가 없으면 그걸 딕셔너리에 key로 추가해주고 value를 1로 해줘
print(d)
-> {'사과':2, '바나나':2, '딸기':1, '키위':1 '복숭아':3}
'Languages > Python' 카테고리의 다른 글
[워니 파이썬 기초] #6 휴대폰으로 문자 보내기 (0) | 2021.02.19 |
---|---|
[워니 파이썬 기초] #5 패키지, 모듈 (0) | 2021.02.19 |
[워니 파이썬 기초] #4 클래스, 오브젝트 (0) | 2021.02.19 |
[워니 파이썬 기초] #2 반복문 (0) | 2021.02.19 |
[워니 파이썬 기초] #1 변수, 타입, 조건문, 함수 (0) | 2021.02.19 |