리스트는 엘레먼트 여러가지를 그룹화하는 것이다. 아마 자바스크립트에서 어레이의 역할인듯?
x = list()
y = [] #여기서 x와 y는 완전히 똑같.
print(x) #[]
print(y) #[]
x = [1,2,3,4]
print(x[3]) #4
x[3] = 10
print(x) #[1,2,3,10]
num_elements = len(x)
print(num_elements) #4
x = [4,2,3,1]
y = sorted(x)
print(y) #[1,2,3,4]
z= sum(x)
print(z) #10
y = ["hello","there","how are you?"]
중요한 개념 - list와 반복문의 결합
for c in y:
print(c) #hello
there
how are you?
print(y.index("hello")) #자리 찾는 것. 값은 0.
print("hello" in y) #hello가 y에 있어? 값은 True.
if "hello" in y:
print("hello가 있어요") #hello가 y에 있으므로 값은 hello가 있어요.
튜플과 리스트는 비슷해서 function도 거의 동일하게 다 쓸 수 있다. 사칙연산, 조건문, 반복문 등등. 튜플과 리스트의 가장 큰 차이점은 튜플에서는 =가 안된다는 것이다.
x = tuple()
y = () #여기서 x와 y는 완전히 똑같.
print(x) #()
print(y) #()
x = (1,2,3)
y = ('a','b','c')
z = (1,'hello','there')
print(x + y) #(1,2,3,'a','b','c')
print('a' in y) #True
print(z.index(1)) #0
x[0] = 10 #error. 튜플의 element는 immutable
딕셔너리는 key와 value로 이루어져 있다. 아마 자바스크립트에서 object의 역할인듯? key값은 immutable만 가능하다.
x = dict()
y = {} #여기서 x와 y는 완전히 똑같.
print(x)
print(y)
x = {
"name":"joeun",
"age":20,
}
print(x) #{'name':'joeun','age':20}
print(x["name"]) #joeun
print(x["age"]) #20
print("age" in x) #True
print(x.keys()) #keys함수는 딕셔너리의 모든 key를 보여달라. 값은 dict_keys(['name','age'])
print(x.values()) #values함수는 딕셔너리의 모든 value를 보여달라. 값은 dict_values(['joeun',20])
for key in x:
print("key: " + str(key))
print("value: " + str(x[key])) #key: name
value: joeun
key: age
value: 20
x['name'] = 'young'
print(x) #{'name':'young','age':20}
x['school'] = 'cnu'
print(x) #{'name':'young','age':20,'school':'cnu'}
#과일 숫자 세는 프로그램 만들기
fruit = ["사과","사과","바나나","바나나","딸기","키위","복숭아","복숭아","복숭아"]
d = {}
for f in fruit:
if f in d: #"사과"라는 key가 d라는 딕셔너리에 있어?
d[f] = d[f] + 1 #그럼 "사과" 갯수를 하나 올려줘
else:
d[f] = 1 #만약 "사과"가 없으면, 그걸 딕셔너리에 넣고 밸류는 1로 만들어줘
print(d) #{'사과':2,'바나나':2,'딸기':1,'키위':1,'복숭아':3}