a = [10, 20, 30, 40, 50]
# 0, 1, 2 ... 처음부터 시작
print( 'a[0]=', a[0],
',a[1]=', a[1],
',a[2]=', a[2],
',a[3]=', a[3],
',a[4]=', a[4])
a[0]= 10 ,a[1]= 20 ,a[2]= 30 ,a[3]= 40 ,a[4]= 50
# -1, -2... 마지막부터 시작
print( 'a[-1]=', a[-1],
',a[-2]=', a[-2],
',a[-3]=', a[-3],
',a[-4]=', a[-4],
',a[-5]=', a[-5])
a[-1]= 50 ,a[-2]= 40 ,a[-3]= 30 ,a[-4]= 20 ,a[-5]= 10
b = [10, 20, 'Hello', [True, 3.14]]
print( 'b[0]=', b[0],
',b[1]=', b[1],
',b[2]=', b[2],
',b[3]=', b[3])
b[0]= 10 ,b[1]= 20 ,b[2]= Hello ,b[3]= [True, 3.14]
# 리스트 안에 리스트 확인
print( 'b[3][0]=', b[3][0],
',b[3][1]=', b[3][1])
b[3][0]= True ,b[3][1]= 3.14
c= [10, 20, 30, 40, 50]
# c[0:2] - 인덱스 0부터 2-1까지
# c[1:] - 인덱스 1부터 끝까지
# c[:] - 인덱스 처음부터 끝까지
# c[:4] - 인덱스 처음부터 4-1까지
print( 'c[0:2] = ',c[0:2],
'\nc[1:] = ', c[1:],
'\nc[:] = ', c[:],
'\nc[:4] = ', c[:4])
c[0:2] = [10, 20]
c[1:] = [20, 30, 40, 50]
c[:] = [10, 20, 30, 40, 50]
c[:4] = [10, 20, 30, 40]
d = [ ]
d.append(100)
d.append(200)
d.append(300)
print(d)
[100, 200, 300]
t_a = (10,20,30,40,50) #튜플
l_a = [10,20,30,40,50] #리스트
# 튜플도 리스트와 동일하게 표현
# 0, 1, 2 ... 처음부터 시작
print( 't_a[0]=', t_a[0],
',t_a[1]=', t_a[1],
',t_a[2]=', t_a[2],
',t_a[3]=', t_a[3],
',t_a[4]=', t_a[4])
#튜플은 내부 원소 변경 불가능
t_a[0] = 100
TypeError: 'tuple' object does not support item assignment
- 튜플 내의 원소를 변경 할 수 없다.
print(t_a)
(10, 20, 30, 40, 50)
- t_a 튜플은 변경 되지 않은 것을 확인
l_a[0] = 100
[100, 20, 30, 40, 50]
- l_a 리스트는 0번째 인덱스 값이 변경 된 것을 확인
score = {'KIM':90, 'LEE':85, 'JUN':95} #딕셔너리 생성
print(score)
{'KIM': 90, 'LEE': 85, 'JUN': 95}
print("score['KIM']=", score['KIM']) #원소 접근
score['KIM']= 90
score['HAN'] = 100 #새 원소 추가
print(score)
{'KIM': 90, 'LEE': 85, 'JUN': 95, 'HAN': 100}
#key, value, (key, value)
print("score key ==", score.keys())
print("score values ==", score.values())
print("score items ==", score.items())
score key == dict_keys(['KIM', 'LEE', 'JUN', 'HAN'])
score values == dict_values([90, 85, 95, 100])
score items == dict_items([('KIM', 90), ('LEE', 85), ('JUN', 95), ('HAN', 100)])
a = 'A73.C'
print( 'a[0]=', a[0],
',a[1]=', a[1],
',a[2]=', a[2],
',a[3]=', a[3],
',a[4]=', a[4])
a[0]= A ,a[1]= 7 ,a[2]= 3 ,a[3]= . ,a[4]= C
a = a + ", EFG"
a
'A73.CD, EFG'
#split() 메서드는 특정 separator를 기준으로 문자열을 분리하여 list 리턴
b = a.split(',')
print(b)
['A73.CD', ' EFG']
헷갈리는 size와 len
- size
- 전체 원소의 갯수!
- 2x3 배열의 경우, 원소 갯수인 6을 반환!
- shape, ndim, size는 numpy.ndarray객체의 메서드 : 파이썬 기본 리스트(list)나 문자열에선 사용 불가! (numpy.ndarray 에서만 사용 가능)- len
- len(객체)는 파이썬 내장함수 : 파이썬 기본 리스트(list)나 문자열에도 사용 가능!
- 첫 번째 차원의 원소(행) 수!
- 2x3 배열의 경우, 첫 번째 차원의 행수인 2를 반환!
- [1, 2, 3] 같은 1차원 배열의 경우, shape가 (3, )이므로 첫 번째 차원의 행수인 3을 반환한다고 봐도 될듯.
출처
a = [10, 20, 30, 40, 50]
b = (10,20,30,40,50)
c = {'kim':90, 'lee':80}
d = "Seoul, Korea"
e = [[100,200],[300,400],[500,600]]
print(type(a),type(b),type(c),type(d), type(e))
print(len(a),len(b),len(c),len(d),len(e))
<class 'list'> <class 'tuple'> <class 'dict'> <class 'str'> <class 'list'>
5 5 2 12 3
a = 'HELLO'
b = {'kim':90, 'lee':80}
print(list(a), list(b.keys()), list(b.values()), list(b.items()))
['H', 'E', 'L', 'L', 'O']['kim', 'lee']
[90, 80][('kim', 90), ('lee', 80)]
print(str(3.14), str(100), str([1,2,3]), sep='\n')
3.14
100
[1, 2, 3]
print(int('100'), int(3.14),sep='\n')
100
3