Python-Type
Python Type
타입 | 순서 | 특징 |
List | O | 값 변경 가능 |
Tuple | O | 값 변경 불가능(List보다 빠르다) |
Set | X | 중복 불가 |
Dict | X | {key:value}형식 |
List
여러 요소들을 갖는 집합으로 새로운요소를 추가하거나 갱신, 삭제 가능.
동적배열로서 자유롭게 확장 가능 및 요소 값 변경 가능
순서가 있으므로 Index로거 접근 가능
List Comprehension: 리스트의 […] 괄호 안에 for 루프를 사용하여 반복적으로 표현식(expression)을 실행해서 리스트 요소들을 정의하는 특별한 용법
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#List
#List 선언
a=[1,2,3]
b=[10, a, 10.5, True, '문자열']
#List Indexing
print(a[0], a[1]) #1 2
#List Slicing
print(b[0:2], b[2], b[1][1], b[1][:3]) #[10, [1, 2, 3]] 10.5 2 [1, 2, 3]
#List 추가/삭제
family=["엄마","아빠","나"]
family.append("여동생") #추가
family.insert(0, "할아버지") #삽입
family.extend(["남동생", "이모", "고모"])
family+=["조카", "삼촌"]
family.remove("여동생") #삭제
family[1] = '엄마2' #Index로 접근 후 수정
del family[0]
print(family, " ", len(family)) #['엄마2', '아빠', '나', '남동생', '이모', '고모', '조카', '삼촌'] 8
#List 검색
mylist = "This is a book That is a pencil".split()
i = mylist.index('book') # i = 3 몇번째에 위치하는지
n = mylist.count('is') # n = 2 is 가 몇개인지
print(i, n)
'''
List Comprehension
리스트의 [...] 괄호 안에 for 루프를 사용하여 반복적으로 표현식(expression)을
실행해서 리스트 요소들을 정의하는 특별한 용법이 있는데, 이를 List Comprehension 이라 부른다.
'''
list = [n ** 2 for n in range(10) if n % 3 == 0]
print(list)
'''
출력: [0, 9, 36, 81]
0부터 9까지 숫자들중 3으로 나눈 나머지가 0인 숫자에 대해 그 제곱에 대한 리스트를 구한 예이다.
'''
Tuple
여러 요소들을 갖는 집합으이나 새로운요소를 추가하거나 갱신, 삭제 불가능. 즉, 한번 결정된 요소를 변경할 수 없는 Immutable 데이터 타입
항상 고정된 요소값을 갖기를 원하거나 변경되지 말아야 하는 경우 사용
각 변수에 다른 변수를 할당할 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#Tuple
#Tuple 선언
t=("a","b","c","d")
t="a","b","c","d"
#Tuple Indexing
print(t[1]) #b
#Tuple Slicing
print(t[0:3])#('a', 'b', 'c')
#Tuple 병합과 반복
# 병합
a = (1, 2)
b = (3, 4, 5)
c = a + b
print(c) # (1, 2, 3, 4, 5)
# 반복
d = a * 3 # 혹은 "d = 3 * a" 도 동일
print(d) # (1, 2, 1, 2, 1, 2)
#Tuple 변수 할장(각 요소를 다른 변수에 할당 가능)
name = ("John", "Kim")
print(name)
# 출력: ('John', 'Kim')
firstname, lastname = ("John", "Kim")
print(lastname, ",", firstname)
# 출력: Kim, John
Set
중복이 없는 요소들로만 구성된 집합 컬랙션
내부적으로 순서가 없기 때문에 Indexing 불가.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#Set
#Set 선언
a={1,2,2,3}
print(a, len(a)) #{1, 2, 3} 3
'''
Set Method
Union(): 두 튜플을 중복없이 합침
intersection(): 두 튜플 사이에 공통된 값을 추출
'''
b={3,4}
print(a.union(b)) #{1, 2, 3, 4}
print(a.intersection(b)) #{3}
print(a-b, a|b, a&b) #{1, 2} {1, 2, 3, 4} {3}
'''
Set 추가 삭제
add(): 요소를 추가
update(): 값을 업데이트, 기존의 값이 있으면 그냥 덮어쓴다.
discard(): 요소값을 삭제(요소값이 있으면 삭제하고, 없으면 그냥 무시한다.)
remove(): 요소값을 삭제(요소값이 없는데 삭제를 시도하면 에러가 발생)
'''
a.add(4)
print(a) #{1, 2, 3, 4}
a.update({2,5,6}) #set
a.update((7,8)) #tuple
a.update([9,10]) #list
print(a) #{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
a.discard(2)
a.remove(3)
print(a) #{1, 4, 5, 6, 7, 8, 9, 10}
Dict
{Key: Value}쌍을 요소로 갖는 컬랙션. Map의 형식과 같다.
Hash Table구조로 이루워져 있으므로 Key로 신속하게 Value를 찾을 수 있다.
keys(): dict_key객체를 리턴, values: dict_values객체를 리턴
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#Dict
#Dict선언
mydic=dict(k1=1, k2="kbs", k3=1.2)
#Dict 출력
dic={"파이썬":"뱀", "자바":"커피", "스프링":"용수철"}
print(dic) #{'파이썬': '뱀', '자바': '커피', '스프링': '용수철'}
#Dict는 순서가 없기 때문에 입력한 순서대로 출력되는 것은 아니다.
print(len(dic)) #3
print(dic['자바']) #커피
#Dict Method
print(dic.keys()) #dict_keys(['파이썬', '자바', '스프링'])
print(dic.values()) #dict_values(['뱀', '커피', '용수철'])
#Dict 추가,삭제
dic['오라클']="디비"
print(dic) #{'파이썬': '뱀', '자바': '커피', '스프링': '용수철', '오라클': '디비'}
del dic["오라클"] #요소삭제
print(dic) #{'파이썬': '뱀', '자바': '커피', '스프링': '용수철'}
dic.clear() #전부 삭제
print(dic) #{}
내용참조:천프로 블로그
내용참조:예제로 배우는 Python 프로그래밍
내용참조:예제로 배우는 Python 프로그래밍
내용참조:예제로 배우는 Python 프로그래밍
참조:원본코드
코드에 문제가 있거나 궁금한 점이 있으면 wjddyd66@naver.com으로 Mail을 남겨주세요.
Leave a comment