1. 테스트 환경

- Python version = 3.4


2. 사용법

* 중복을 허용하지 않음

* 순서와 상관없음

>>> set1 = set([5, 3, 2, 7])
>>> set1
{2, 3, 5, 7}

>>> set2 = {'H', 'E', 'L', 'L', 'O'}
>>> set2
{'E', 'H', 'O', 'L'}

- 형 변환list( ) , tuple( )

>>> set1 = {1, 2, 3, 4}

>>> list1 = list(set1)
>>> list1
[1, 2, 3, 4]

>>> tuple = tuple(set1)
>>> tuple
(1, 2, 3, 4)

s1 = {1, 5, 7, 8}
s2 = {1, 4, 5, 8}
- 교집합(&) intersection, 합집합(|) union
>>> s1 & s2
{8, 1, 5}

>>> s1 | s2
{1, 4, 5, 7, 8}

>>> s2 - s1
{4}

>>> s2.difference(s1)
{4}
- 값 추가
>>> set1.add ('hello')
>>> set1
{'t', 1, 3, 5, 7, 8, 'hello', 'python', 'a'}
- 값 여러개 추가
>>> set1.update([7, 8, 9])
>>> set1
{'t', 1, 3, 5, 7, 8, 9, 'python', 'a'}
- 값 제거
>>> set1.remove(1)
>>> set1
{'t', 3, 5, 7, 8, 'python', 'a'}

3. 예제
S1 = {1, 3, 5, 7}
S2 = {5, 6, 7, 8, 9}

# 1. 두 집합의 교집합, 합집합, 차집합을 출력

# 2. S1 집합에 자신의 이름을 문자열 자료형으로 추가

# 3. 문자열, 숫자 데이터를 포함한 리스트 자료형을 자료형을 만든 뒤 S2 집합에 추가 (udate 이용)

# 4. S2 집합에서 가장 큰 숫자를 제거
- 풀이
# 1. 
>>> S1 & S2
{5, 7}

>>> S1 | S2
{1, 3, 5, 6, 7, 8, 9}

>>> S1 - S2
{1, 3}

# 2.
>>> S1.add('dongyoon')
>>> S1
{1, 3, 5, 7, 'dongyoon'}

# 3.
>>> S2.update(['가', '나', '다'])
>>> S2
{5, 6, 7, 8, 9, '다', '나', '가'}

# 4.
>>> S2.remove(9)
>>> S2
{8, 5, 6, 7}


1. 테스트 환경

- Python version = 3.4


2. 사용법

* (), 소괄호를 이용

* 리스트는 그안에 내용을 수정, 삭제 그리고 추가가 가능하지만 튜플은 불가능

>>> tu1 = (1, 2)
>>> tu1
(1, 2)
>>> tu2 = (1, )
>>> tu2
(1,)
>>> tu3 = ([1, 1, 1], 6 ,8)
>>> tu3
([1, 1, 1], 6, 8)
>>> tu4 = 1, 2, 'name'
>>> tu4
(1, 2, 'name')
>>> tu5 = (6, (2, 4), 'a', 'b')
>>> tu5
(6, (2, 4), 'a', 'b')
- 튜플 연산
>>> t1 = (1, 2, 3, 'a', 'b', 'c')
>>> t2 = ('lion', 'tiger', 'eagle', 5, 7, [1, 2, 3])
>>> t1[0]
1
>>> t2[5]
[1, 2, 3]
>>> t1 + t2
(1, 2, 3, 'a', 'b', 'c', 'lion', 'tiger', 'eagle', 5, 7, [1, 2, 3])
>>> t1 * 3
(1, 2, 3, 'a', 'b', 'c', 1, 2, 3, 'a', 'b', 'c', 1, 2, 3, 'a', 'b', 'c')

3. 예제
T1 = ('a', 'b', 'c', 'd', 'e')
T2 = (1, 2, 3, 4, 5)
T3 = ('가', '나', '다', '라', '마')

# 1. T1의 3번째 원소와 T2의 2번째 원소를 출력

# 2. T3의 1번째 원소부터 5번째 원소까지를 출력 (슬라이싱 이용)

# 3. T2와 T3 튜플을 합친 결과 출력

# 4. T1 튜플을 2번 출력
- 풀이
# 1.
>>> T1[2]
'c'
>>> T2[1]
2

# 2.
>>> T3[0:5]
('가', '나', '다', '라', '마')

# 3.
>>> T2 + T3
(1, 2, 3, 4, 5, '가', '나', '다', '라', '마')

# 4.
>>> T1 * 2
('a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e')


1. 테스트 환경

- Python version = 3.4


2. 사용법

>>> my_dic = {'name': '동윤', 'year': '1993', 'nowyear': 2018}

- key 값 리스트 반환 > .key( )

>>> my_dic.keys()
dict_keys(['year', 'name', 'nowyear'])

- values 값 리스트 반환 > .values( )

>>> my_dic.values()
dict_values(['1993', '동윤', 2018])

- 딕셔너리 에 있는 모든 내용을 list 형식으로 반한 (리스트 안은 tuple 형식) > .items( )

>>> my_dic.items()
dict_items([('year', '1993'), ('name', '동윤'), ('nowyear', 2018)])

- 딕셔너리 내용 전체 삭제 > .clear( )

>>> my_dic.clear()
>>> my_dic
{}

- key에 대응하는 value 값 반환 > .get( )

>>> my_dic.get('name')
'동윤'
>>> my_dic.get('year')
'1993'
- my_dic.get(), my_dic[] 차이점
>>> my_dic.get('Hello')
None

>>> my_dic['Hello']
Traceback (most recent call last):
  File "", line 1, in 
KeyError: 'Hello'

- key 값 확인 > ' ' in 

>>> 'name' in my_dic
True
>>> 'Hello' in my_dic
False

3. 예제
animals = {'cat' : 1, 'dog' : 10, 'horse': 3}

# 1. 모든 key를 반환하여 keys 에 저장

# 2. 모든 value를 반환하여 values에 저장

# 3. animals 내에 'cat' 이라는 키가 있는지 확인

# 4. animals 의 모든 쌍 삭제
- 풀이
# 1.
>>> keys = animals.keys()
>>> keys
dict_keys(['dog', 'horse', 'cat'])

# 2.
>>> values = animals.values()
>>> values
dict_values([10, 3, 1])

# 3.
>>> 'cat' in animals
True

# 4.
>>> animals.clear()
>>> animals
{}


1. 테스트 환경

- Python version = 3.4


2. 사용법

>>> my_dic = {'apple': '사과', 'bird': '새',
... 'class': '수업', 'school': '학교'}
>>> my_dic
{'class': '수업', 'bird': '새', 'school': '학교', 'apple': '사과'}

>>> my_dic['apple']
'사과'
>>> my_dic['bird']
'새'
>>> my_dic['school']
'학교'

>>> my_dic = {1: 'hello', 2: [1,2,3]}
>>> my_dic[1]
'hello'
>>> my_dic[2]
[1, 2, 3]

- 딕셔너리 추가 > my_dic[' '] = ' '

>>> my_dic = {'apple': '사과', 'bird': '새'}
>>> my_dic['class'] = '수업'
>>> my_dic
{'class': '수업', 'bird': '새', 'apple': '사과'}
>>> my_dic['name'] = 'dongyoon'
>>> my_dic
{'class': '수업', 'bird': '새', 'apple': '사과', 'name': 'dongyoon'}
- 딕셔너리 삭제 > del
>>> my_dic
{'class': '수업', 'bird': '새', 'apple': '사과', 'name': 'dongyoon'}
>>> del my_dic['class']
>>> my_dic
{'bird': '새', 'apple': '사과', 'name': 'dongyoon'}
>>> del my_dic['apple']
>>> my_dic
{'bird': '새', 'name': 'dongyoon'}

3. 예제
my_info ={}

# 1. my_info란 딕셔너리 공간에 'name'을 key로, 이름을 value로 저장

# 2. my_info란 딕셔너리 공간에 'gender'을 key로, 성별을 value로 저장

# 3. my_info란 딕셔너리 공간에 'year'을 key로, 태어난년도를 value로 저장

# 4. my_info란 딕셔너리 공간에 'year'을 key인 쌍을 삭제
- 풀이
# 1.
>>> my_info['name'] = '동윤'
>>> my_info
{'name': '동윤'}

# 2.
>>> my_info['gender'] = '남'
>>> my_info
{'gender': '남', 'name': '동윤'}

# 3.
>>> my_info['year'] = 1993
>>> my_info
{'gender': '남', 'name': '동윤', 'year': 1993}

# 4.
>>> del my_info['year']
>>> my_info
{'gender': '남', 'name': '동윤'}


1. 테스트 환경

- Python version = 3.4 


2. 사용법

- 리스트의 연산

>>> a = [1, 2]
>>> b = ['a', 'b', 'c']
>>> print (a + b)
[1, 2, 'a', 'b', 'c']

- 인덱싱 (Indexing)

>>> my_list = [1,2,3,4,5]
>>> print(my_list[0])
1
>>> print(my_list[3])
4
>>> print(my_list[0] + my_list[3])
5

>>> my_list = [1, 2, ['a', 'b'], 'python']
>>> print(my_list[2])
['a', 'b']
>>> print(my_list[2][0])
a
>>> print(my_list[2][1])
b
- 슬라이싱 (Slicing)
>>> a = [1, 2, 3, 4, 5]
>>> print(a[1:4])
[2, 3, 4]
>>> print(a[:3])
[1, 2, 3]
>>> print(a[2:])
[3, 4, 5]
>>> a[2] = 'Hello'
>>> print(a)
[1, 2, 'Hello', 4, 5]

3. 예제
my_list = ['a', 1, 2, 3, 'b', ['apple', 'banana'], 4]

# 1. my_list 4번째 값 출력

# 2.  my_list 에서 3번째 값을 "hello"로 로 변경한 뒤 my_list출력

# 3. my_list 에서 처음부터 6번째 값까지 출력

# 4. 인덱스를 이용하여 리스트 my_list에서 banana의 값 출력

- 풀이

# 1.
>>> print(my_list[3])
3

# 2.
>>> my_list[2] = 'hello'
>>> print(my_list)
['a', 1, 'hello', 3, 'b', ['apple', 'banana'], 4]

# 3.
>>> my_list[0:6]
['a', 1, 'hello', 3, 'b', ['apple', 'banana']]

# 4.
>>> print(my_list[5][1])
banana


1. 테스트 환경

- Python version = 3.4


2. 사용법

- 해당 값의 인덱스 반환 > .index( )

>>> a = [1, 6, 5, 3, 4, 2]
>>> a.index(6)
1
>>> a.index(5)
2
>>> a.index(4)
4
>>> a.index(3)
3
>>> a.index(2)
5
>>> a.index(1)
0

- 리스트 요소 추가 - 마지막 부분에 값 추가 > .append( )

>>> a = [1, 6, 5, 3, 4, 2]
>>> a.append(7)
>>> a
[1, 6, 5, 3, 4, 2, 7]
>>> a.append([8, 9])
>>> a
[1, 6, 5, 3, 4, 2, 7, [8, 9]]

- 리스트 요소 추가 - 인덱스 번호 위치 에 값 추가 > .insert( )

>>> a.insert(3, [7, 1])
>>> a
[1, 6, 5, [7, 1], 3, 4, 2]
>>> a.insert(5, [8, 9])
>>> a
[1, 6, 5, [7, 1], 3, [8, 9], 4, 2]

- 리스트 요소 삭제 - 인덱스 번호 위치 에 값 삭제 > .pop( )

>>> a
[1, 6, 5, 3, 4, 2, 7, [8, 9]]
>>> a.pop(1)
6
>>> a
[1, 5, 3, 4, 2, 7, [8, 9]]
>>> a.pop(3)
4
>>> a
[1, 5, 3, 2, 7, [8, 9]]

- 리스트 요소 삭제 - 해당 값이 첫번째로 나오는 인덱스 삭제 > .remove( )

>>> a = [1, 6, 6, 3, 4, 2, 3]
>>> a.remove(6)
>>> a
[1, 6, 3, 4, 2, 3]
>>> a.remove(3)
>>> a
[1, 6, 4, 2, 3]

- 리스트 뒤집기 > .reverse( )

>>> a = [1, 6, 6, 3, 4, 2, 3]
>>> a.reverse()
>>> a
[3, 2, 4, 3, 6, 6, 1]

- 리스트 정렬 - 오름차순 > .sort( )

>>> a = [1, 6, 5, 3, 4, 2]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5, 6]
- 리스트 정렬 - 내림차순 > .sort(reverse=True)
>>> a = [1, 6, 5, 3, 4, 2]
>>> a.sort(reverse=True)
>>> a
[6, 5, 4, 3, 2, 1]


3. 예제

a = [1, 9, 2, 3, 4, 5, 7]

# 1. a를 오름차순으로 변경 한 뒤 출력

# 2. a에서 9를 꺼낸 뒤 출력

# 3. a의 5 뒤에 6을 추가한 뒤 출력

# 4. a의 맨 마지막에 8을 추가하고 출력

# 5. a를 내림차순 한 뒤 출력
- 풀이
# 1.
>>> a.sort()
>>> a
[1, 2, 3, 4, 5, 7, 9]

# 2.
>>> a.pop(1)
9
>>> a
[1, 2, 3, 4, 5, 7]

# 3.
a.insert(6, 6)
print a

# 4.
>>> a.append(8)
>>> a
[1, 9, 2, 3, 4, 5, 7, 8]

# 5.
>>> a = [1, 9, 2, 3, 4, 5, 7]
>>> a.sort(reverse=True)
>>> a
[9, 7, 5, 4, 3, 2, 1]


1. 테스트 환경

- OS: CentOS 7.5

- Python verson: 3.6



2. 설정 방법

- repository를 yum에 추가

yum install -y https://centos7.iuscommunity.org/ius-release.rpm

- yum search로 python 3.x 버전 확인

yum search python3

- python install

yum install -y python36u python36u-libs python36u-devel python36u-pip

- python 버전 확인

python -V
> Python 2.7.5

python3.6 -V
> Python 3.6.4

- python3.6을 기본 python 으로 설정

vi /root/.bashrc

[내용 추가]
alias python="/usr/bin/python3.6

- 사용법 및 주의사항

주의할 것은 python 명령어를 작성할 때 python3.6 으로 작성해야 한다는 것 예를 들어, Hello.py 파일을 실행한다고 할 때 다음과 같이 명령어를 작성

python3.6 Hello.py


+ Recent posts