안녕하세요 이승혁입니다.
이번 시간에는 시퀀스 자료형을 조작하는 방법에 대해 실습을 진행해 보도록 하겠습니다.
※ 실습 자료
실습 csv 입니다.
- import csv : csv파일을 사용하기 위한 모듈을 import합니다.
- open : 경로에 적힌 파일을 여는데 'r' read 옵션을 사용해서 읽기 전용으로 엽니다
- csv 옵션에 대한 설명
https://docs.python.org/ko/3/library/csv.html
※ 시퀀스 자료형
어떤 객체가 순서를 가지고 나열되어 있는 것을 말합니다.
문자열 'abcd'는 문자 a,b,c,d가 순서를 가지고 차례대로 나열되어 있는 것 입니다.
첫 번째를 0번부터 번호를 매깁니다.
ex )
text='abcd'
print('text[0]=',text[0])
print('text[1]=',text[1])
print('text[2]=',text[2])
print('text[3]=',text[3])
마이너스(-)를 사용해서 나타낼 수도 있습니다. 가장 뒤 문자는 -1 숫자로 나타냅니다.
ex)
text='abcd'
print('text[-1]=',text[-1])
print('text[-2]=',text[-2])
print('text[-3]=',text[-3])
print('text[-4]=',text[-4])
※ 시퀀스 자료 인덱싱 이해하기
인덱싱(indexing)이란 시퀀스 자료형에서 인덱스를 통해 해당 값을 얻는 방법입니다.
파이썬에서는 인덱스를 0부터 시작해, 음수 인덱스도 사용이 가능합니다.
음수 인덱스는 '끝에서 n번째' 라는 의미와 같습니다.
실습 1. Indexing, [0,2,3,5,2,1] 리스트에서 1과 3을 출력해보기
test_list=[0,2,3,5,2,1]
print(test_list[2]) # 앞에서 3번째
print(test_list[-1]) # 뒤에서 1번째
실습 2. Indexing, [0,2,3,5,[4,1,7,8]] 리스트에서 4와 7 출력해보기
test_list=[0,2,3,5,[4,1,7,8]]
print(test_list[4][0])
print(test_list[4][2])
test_list 변수의 5번째(test_list[4])의 원소는 [4,1,7,8] 리스트입니다.
거기서 1번째, 3번째 원소가 4와 7이므로 위 코드와 같이 작성해 출력할 수 있습니다.
※ 시퀀스 자료 슬라이싱 이해하기
인덱싱은 인덱스에 해당하는 요소 하나를 취하는 방법입니다.
슬라이싱(slicing)은 시퀀스 자료에서 일정 범위에 해당하는 부분을 취하는 방법입니다.
시퀀스[ 시작index : 끝index+1 ]
ex)
alpha='abcdefghijklmnopqrstuvwxyz'
print('alpha[0:3] =',alpha[0:3])
print('alpha[3:6] =',alpha[3:6])
실습 3. slicing 사원의 이름을 앞에서 3개만 출력해보기
import csv
f=open('d:\\python\\python_nocol_emp.csv','r')
emp_csv=csv.reader(f)
emp=[i for i in emp_csv]
for i in emp:
print(i[1][0:3] ,i[1])
실습 4. slicing , 이름을 뒤에서 3글자 출력해보기
import csv
f=open('d:\\python\\python_nocol_emp.csv','r')
emp_csv=csv.reader(f)
emp=[i for i in emp_csv]
for i in emp:
print(i[1][-3:] ,i[1])
슬라이싱 사용 시 [-3:] 표현으로 '뒤 3번째 글자 부터 끝까지' 라는 의미를 나타낼 수 있습니다.
※ 시퀀스 자료 연결 이해하기(+)
자료형이 동일한 두 개의 시퀀스 자료는 + 연산자로 순서있게 연결해 새로운 시퀀스 자료를 만들 수 있습니다.
문자열 + 문자열 , 리스트 + 리스트 , 튜플 + 튜플 과 같이 두 개의 동일한 시퀀스 자료형에 대해
'+' 연산자로 연결이 가능합니다.
ex)
a='My'
b=' name'
c=' is'
d=' Lee seung hyuk'
print(a+b+c+d)
실습 5. 자료 연결을 통해 사원의 이름, 부서, 부서번호 출력해보기
import csv
f=open('d:\\python\\python_nocol_emp.csv','r')
emp_csv=csv.reader(f)
f2=open('d:\\python\\python_nocol_dept.csv','r')
dept_csv=csv.reader(f2)
emp=[i for i in emp_csv]
dept=[i for i in dept_csv]
for i in emp:
for j in dept:
if i[7]==j[0]:
print(i[1],j[0],j[2])
print('자료 연결 : ',i[1]+j[0]+j[2]+'\n')
※ 시퀀스 자료의 반복
동일한 시퀀스 자료를 반복해 새로운 시퀀스 자료를 만들고자 하면 별표(*)를 연산자로 사용합니다.
ex)
a='123'
print(a*3)
※ 시퀀스 자료의 크기(길이)
모든 시퀀스 자료는 고정된 크기 또는 길이를 가지고 있습니다.
시퀀스 자료의 크기는 시퀀스 자료를 구성하는 요소의 개수입니다.
ex)
a='123'
b=[1,2,3]
c=(0,'','1',2)
print('len(a):',len(a))
print('len(b):',len(b))
print('len(c):',len(c))
이번 포스팅은 시퀀스 자료형을 조작하는 방법에 대해 실습을 진행해 보았습니다.
다음 포스팅에서는 리스트형, 튜플형 , 사전형에 대해 알아보고 함수에 대한 실습을 진행해 보도록 하겠습니다.
감사합니다.
'프로그래밍 > Python' 카테고리의 다른 글
Python-9) 클래스의 상속, 오버로딩, 오버라이딩 : Python 설치, 클래스, 상속, 객체지향 언어 (2) | 2020.11.23 |
---|---|
Python-8) Class : Python, Python 설치, 파이썬 클래스, 객체 (0) | 2020.11.17 |
Python-7) Numpy : Python, Python 설치, 파이썬 마스터, 객체지향 언어 (0) | 2020.11.16 |
Python-6) 함수, 모듈, 패키지 : Python, Python 설치, 파이썬 마스터 (0) | 2020.11.11 |
Python-5) tuple , list, dictionary : Python, Python 설치, 파이썬 마스터 (0) | 2020.11.10 |
Python-3) for문, while문, None, 연산자 : Python 설치, 파이썬 마스터, 파이썬 자격증 (0) | 2020.11.05 |
Python-2) 변수, 자료형, 파이썬 if문, 파이썬 for문 : Python, Python 설치, 파이썬 마스터 (0) | 2020.11.04 |
Python - 1) Python install : Anaconda, 파이썬 설치, 파이썬, Python, 가상환경 생성 (1) | 2020.11.02 |