"파이썬 스터디2"의 두 판 사이의 차이

seonae's wiki
이동: 둘러보기, 검색
(연습문제2)
(자료형:리스트)
136번째 줄: 136번째 줄:
  
 
===자료형:리스트===
 
===자료형:리스트===
 +
*리스트(List) : 순서를 가지는 객체들의 집합. 시퀀스 자료형. 변경가능. []
 +
*기본 형식
 +
<pre>리스트명 = [요소1, 요소2, 요소3, ...]</pre>
 +
 +
<pre>
 +
>>> a = [] #빈 리스트, 리스트 선언(declaration)
 +
>>> b = [1, 2, 3]
 +
>>> c = ['Life', 'is', 'too', 'short']
 +
>>> d = [1, 2, 'Life', 'is']
 +
>>> e = [1, 2, ['Life', 'is']]
 +
 +
>>> a = list() #빈 리스트.
 +
</pre>
 +
 +
*인덱싱과 슬라이싱
 +
<pre>
 +
>>> a = [1, 2, 3]
 +
>>> a[0]
 +
>>> a[0] + a[2]
 +
>>> a[-1]
 +
 +
>>> a = [1, 2, 3, ['a', 'b', 'c']]
 +
>>> a[0]
 +
>>> a[-1]
 +
>>> a[-1][0]
 +
</pre>

2019년 1월 16일 (수) 22:23 판

스터디 홈


자료형:문자

  • 문자열 포맷팅(Formatting) : 쉽게 말해 문자열 내에 어떤 값을 삽입하는 방법[1]


    • 1) 포맷팅 연산자 사용
>>>"I eat %d apples." % 3 #직접 넣기-숫자
>>>"I eat %s apples." % "five" #직접 넣기-문자열
>>>"I eat %d apples." % number #변수로 입력

#2개 이상의 값 넣기
>>> number = 10
>>> day = "three"
>>> "I ate %d apples. so I was sick for %s days." % (number, day)

#공백 넣기
>>> "%10s" % "hi"
#정렬하기
>>> "%10s" % "hi" #오른쪽
"%-10sjane." % 'hi' #왼쪽


    • 문자열 포맷코드 : %s(문자열), %d(정수),  %%(%문자)
>>> "Error is %d%." % 98


    • 2) format 함수 사용
>>> "I eat {0} apples".format(3) #직접 넣기-숫자
>>> "I eat {0} apples".format("five") #직접 넣기 - 문자
>>> number = 3
>>> "I eat {0} apples".format(number) #변수로 입력

#2개 이상의 값 넣기-인덱스
>>> number = 10
>>> day = "three"
>>> "I ate {0} apples. so I was sick for {1} days.".format(number, day)

#2개이상의 값 넣기 - 이름
"I ate {number} apples. so I was sick for {day} days.".format(number=10, day=3)

#정렬
>>> "{0:<10}".format("hi") #:<왼쪽
>>> "{0:>10}".format("hi") #:>오른쪽
>>> "{0:^10}".format("hi") #:^ 가운데

#{ 또는 } 문자 넣기
>>> "{{ and }}".format()


    • f문자열을 이용(ver 3.6 이상)
>>> name = '홍길동'
>>> age = 30
>>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'

>>> f'나는 내년이면 {age+1}살이 된다.'

>>> f'{"hi":<10}'  # 왼쪽 정렬
>>> f'{"hi":>10}'  # 오른쪽 정렬
>>> f'{"hi":^10}'  # 가운데 정렬


  • 문자열 메소드
    • 메소드(method) : 자체적으로 가지고 있는 함수. 내장함수
>>> a = "Python is the best choice"

>>> a.count('b') #문자 갯수 세기
>>> a.find('b') #문자 위치1 (처음 나온 위치, 없으면 -1)
>>> a.index('t') #문자 위치2 (처음 나온 위치, 없으면 오류)

>>> ",".join('abcd') #문자열 삽입/결합

>>> a.upper() #대문자 변환
>>> a.lower() #소문자 변환
>>> a.swapcase() #거꾸로 변환
>>> a.capitalize() #첫문자만 대문자로
>>> a.title() #단어의 첫문자만 대문자로

>>> " hi ".lstrip() #왼쪽 공백 제거
>>> " hi ".rstrip() #오른쪽 공백 제거
>>> " hi ".strip()  #양쪽 공백 제거
>>> '><>abc<><><>'.strip('<>') #특정 문자열 제거
>>> '><>abc<><><>\n'.strip('<>')

>>> a.replace("Python", "Learning") #문자열 바꾸기
>>> a.split() #문자열 나누기
>>> b = "a:b:c:d"
>>> b.split(':')
>>> lines = '''
first line
second line
third line'''
>>> lines.splitlines() #줄단위로 분리

>>> s = 'i like programming, i like swimming.'
>>> s.startswith('i like') #~로 시작하는지?
>>> s.endswith('swimming.') #~로 끝나는지?
>>> startswith('progr', 7) #7번째 문자열이 ~로 시작하는지?
>>>s.endswith('like', 0, 26) #0~26사이의 문자열이 ~로 끝나는지?

#판별 메소드
>>> '1234'.isdigit()
>>> 'abc'.islower()
>>> 'abc'.isupper()
>>> '\t\r\n'.isspace()


연습문제2

  • a:b:c:d를 a#b#c#d로 바꾸기 : 1) replace 사용 2) split과 join사용
  • s = '/usr/local/bin/python'에서 분리하기 : 'usr', 'local', 'bin', 'python'
m = '''
first line
second line
third line'''

first line:second line:third line #출력형태 1
first:line:second:line:third:line #출력형태 2

자료형:리스트

  • 리스트(List) : 순서를 가지는 객체들의 집합. 시퀀스 자료형. 변경가능. []
  • 기본 형식
리스트명 = [요소1, 요소2, 요소3, ...]
>>> a = [] #빈 리스트, 리스트 선언(declaration)
>>> b = [1, 2, 3]
>>> c = ['Life', 'is', 'too', 'short']
>>> d = [1, 2, 'Life', 'is']
>>> e = [1, 2, ['Life', 'is']]

>>> a = list() #빈 리스트.
  • 인덱싱과 슬라이싱
>>> a = [1, 2, 3]
>>> a[0]
>>> a[0] + a[2]
>>> a[-1]

>>> a = [1, 2, 3, ['a', 'b', 'c']]
>>> a[0]
>>> a[-1]
>>> a[-1][0]
  1. https://wikidocs.net/13#_15