python

[python] 파이썬 내용 총정리 자료형/문자열/리스트

고로케 2021. 4. 8.
반응형

#1. 자료형,조건/ .sort() 오름차순정렬/ 값이 들었는지 확인

 1) 자료형

a//b  # 3 ()

a%b   # 1 (나머지)

a**b  # 49 (거듭제곱)

 

 

> Bool 자료형 : /거짓 을 나타내는 자료형

x = True   #

y = False  # 거짓

# 소문자로 쓰면 자료형으로 인식하지 않고 변수명이라 생각해 에러가 납니다~

 

> 조건, 대소비교

4 > 2      # True  크다

5 < 1      # False 작다

6 >= 5     # True  크거나 같다

4 <= 4     # True  작거나 같다

3 == 5     # False 같다

4 != 7     # True  같지 않다

 

 2) 오름/내림 차순 정렬 alist = [4,5,2,3,1]

오름차순

alist.sort()

>결과 : 1 2 3 4 5

 

내림차순

alist.sort(reverse=true) 

>결과 : 5 4 3 2 1

 

 3) 값이 들었는지 확인

result = ( 5 in alist)   => 결과 : True

result = ( 99 in alist)  =>결과 : False

 

#3. 딕셔너리

 1) 딕셔너리 결과1

a_dict = {'name' : bob, ' age' : 27 , 'friend':['영희', '철수']}

result1 = a_dict['name']

 

print(result)

 > 결과 : bob

 

2) 딕셔너리 결과2

result2 = a_dict['friend'][1]

print(result2)

 > 결과 : 철수

 

3) 내용 추가하기

a_dict['height']=180

result=('height' in a_dict)

print(a_dict, result)

 >결과 : {'name': 'bob', 'age': 26, 'height': 180}  ture

 

4) 딕셔너리 내 리스트

 people = [

    {'name': 'bob', 'age': 20, 'score':{'math':90,'science':70}},

    {'name': 'carry', 'age': 38, 'score':{'math':40,'science':72}},

    {'name': 'smith', 'age': 28, 'score':{'math':80,'science':90}},

    {'name': 'john', 'age': 34, 'score':{'math':75,'science':100}}

]

 

result=people[2]['score']['science']

print(result)

 

> 결과 : 90

 

#4. if / elif / else  aaa > 1000 : 조건문

#5. for aaa in alist: 반복문

  1) enumerate / break : 순서대로 0번 부터 숫자를 매겨준다./ 반복 멈춤(break)

           for i, aaa in enumerate(persons) :

                     name = aaa['name']

                     age = aaa['age']

                     if i > 3:

                       break           

 

#5. 함수 def aaa(k):

    함수 내 if문을 사용할 때 문자를 숫자로 바꾸는 int(b) / 문자열에 .split('@')[3][:1] 등을 사용하여 원하는 부분 추출하기

 

 

#6. 튜플 : 내용을 바꿀 수 없는 리스트

 

 일반형 : alist = [{'사과', '감자'},{'',''}]

           alist[0][1] = '수박' => ['사과','수박']

 

 튜플 : alist = [('사과',''),('','')]

           alist[1] = '수박' => ['사과','수박'] XXXXX 변경 불가

 

#7. 집합 set(a)

  > 리스트내 중복값을 제거해준다.

1)   a = [1,2,3,4,1,2,3,4,5]

     a_set = set(a)

      > 결과 : 1,2,3,4,5

 

2)   b= [2,3,4,2,3]

     b_set = set(b)  => 2,3,4

    *교집합 : print (set_a & set_b)   => 2,3,4

    *합집합 : print (set_a | set_b)   => 1,2,3,4,5

    *차집합 : print (set_a - set_b)  => 1,5

 

# 8. f-string : print 할 때 문자열 표현을 간결하게 해줌

    print ( f ' {name}의 점수는 {str(score)} 점 입니다.' )

 

# 9. try : except : 예외처리문 (반복문에서)

  > 에러 나면 except : 문을 실행해라

 

 for aaa in people :

  try :

    if aaa['age'] > 20:

      print(person['name']

  except :

      print(person['name'] , '에러입니다' )

 

# 10. 한줄로 쓰는 팁

    1) if

       result = ( '짝수' if num %2 ==0 else '홀수')

       print (result, '입니다')

 

     2) for

       b_list = [ a * 2 for a in a_list ]

      

                     

# 11. map / lambda/ filter

 

 1) map : 함수에 리스트형태를 for문으로 돌리는 기능

 

#함수 생성#

 def aaa(bb):

   return (' 성인 ' if bb['age'] > 20 else ' 청소년' )

 

#map으로 활용

 result = list (map (aaa , people ))       ==> aaa 함수에 people 을 넣으면서 for 문처럼 돌려서 나온 값

 print ( result)

  > ['성인' , '청소년'  , '성인 ' ....]

 

  2) lambda 한줄짜리 함수를 포함하는 문장

 

 result = list ( map ( lambda person : ('성인' if person ['age']>20 else '청소년'), people) )

 print(result)

  > [ '청소년' , '성인', '청소년', ...]

 

  3) filter : lambda 조건문으로 true 값만 받아서 저장하는 문장

 

result  = list (filter (lambda x : x ['age'] >20 , people))

print(result)

 > [{'name' : 'carry', 'age' : '38'}, {'name' : 'ben', 'age' : 27 ......]

 

for aa in result:

  print ( aa['name'])

> carry

      ben

     bobby

        ...

     

# 12 . 함수 심화, 매개변수 (*args , **kwargs)

 

  1) 함수의 (*args) : *args 기능 : 함수 호출시 여러개의 인자 사용가능

def aaa (*args) :

  for name in args:

     print( 'f {name} 바보 ' )

 

aaa('영희', 'bob' )

> 영희 바보

       bob 바보

 

  2) 함수 (**kwargs) : 딕셔너리로 만들어주는 기능

def aa(**kwargs):

  print(kwargs)

 

aa(name='bob' , age = 30 , height = 178)

 

> {'name' : 'bob' , 'age' : 30 , 'height' : 178}

 

 

반응형

댓글