반응형

코드의 구조

파이썬 코드의 구조 

if 문의 사용에 있어서 

비교연산자 논리연산자는 중요합니다.

비교연산자는 여섯 개가 있으며,

<,  <=,  ==,  >=,  >,  != 

ex> 

1 > 2 → False

10 < 11 → True

 

있습니다.

 

연산의 결과는 항상 bool 값입니다 

bool값은 True 또는 False 의 결과값이 있다는 뜻입니다.

논리연산자는 이항연산자인 and, or 있고 

단항연산자 not이 있습니다 

이러한 연산자로 인해서 

if 문을 잘 이용할 경우에 충분히 좋은 프로그램을 만들 수 있습니다

 

if 문 예시

number = 23
guess =int(input('정수를 입력하세요 : '))

if guess == number:
          print ('축하합니다. 정답입니다.')
          print ('상은없음')


elif guess < number:
          print ('조금 더 크게 불러봐')

else :
          print('조금 더 작게 불러봐')


print ('끝')

이렇게 프로그램을 간단하게는 만들었지만, 실제로 if문을 중요하다고 말해도 부족합니다.

정말 중요합니다.

 

for 문

for문은 list의 형식들과 융합해서 사용을 합니다.

그래서 사실 for문도 중요합니다.

전부 다 중요하다고만 말하는 경향이 저에게 있지만, 사실 기초적인 것들을 위주로

연습을 하는것보다는 실전으로 코드의 구조를 이용하여 훌륭한 프로그램을 만드는 기반을

다지는것이 사실 무엇보다도 중요합니다.

 

for문 예시

members = ['피카츄', '이상해씨','파이리', '꼬부기', '버터풀', '갸라도스']
for member in members:
    print(member)

 

처음 접하는 사람에게 어렵지만, 쉽게 이해를 할 수 있도록 설명하겠습니다.

자 포켓몬들이 있는데 한마리씩 부를 겁니다.

멤버들에서 멤버라는 변수를 언급하며 리스트안의 즉 내 포켓몬 6마리를 한마리씩 부릅니다.

리스트안의 포켓몬들이 더 있다면, 더 많이 출력이 됩니다.

 

반응형

'python' 카테고리의 다른 글

[selenium] 웹메크로만들기  (0) 2021.03.09
[Python] 파이썬 딕셔너리  (0) 2020.09.13
[Python] 파이썬 튜플(리스트)  (0) 2020.08.21
[python] 파이썬 리스트 강좌  (0) 2020.08.20
[파이썬 자료형] 문자열 다루기 강좌  (0) 2020.08.12
반응형

리스트( list )

 

드디어 파이썬의 리스트입니다.

제 주관적인 생각이지만, 실제로 파이썬에서 리스트는 정말 많이 사용되고 있습니다.

 

리스트는 단독으로 쓰이기도 하고, 반복문 하고도 상당히 많이 쓰고, 함수들도 눈여겨보아야 합니다.

 

[ 리스트 ] 안의 내용물들 (아이템들)

# empty list
ex_list = []
print(type(ex_list)) # <class 'list'>
print(ex_list) #[]

# list of numbers
num_list = [1, 2, 3, 4, 5]
print(num_list) # [1, 2, 3, 4, 5]

# list of str
str_list = ['a', 'b', 'c', 'd']
print(str_list) # ['a', 'b', 'c', 'd']
print(type(str_list[0])) # <class 'str'>

# list of string
string_list = ['python', 'is', 'Fun']
print(string_list) # ['python', 'is', 'Fun']
print(type(string_list[0])) # <class 'str'>

# list of mixed
mixed_list = [1, 10.1, 'a', 'python']
print(mixed_list) [1, 10.1, 'a', 'python']
for element in mixed_list:
    print('element :',element,' type :',type(element))
# element : 1  type : <class 'int'>     
# element : 10.1  type : <class 'float'>
# element : a  type : <class 'str'>     
# element : python  type : <class 'str'>

 

리스트 안의 데이터를 [ 아이템 ] 이라고도 부르고 있습니다.

위의 코드를 보면은 [ 빈 리스트 ], [ 숫자 데이터 리스트 ],

[ 문자 데이터 리스트 ], [문자열 데이터 리스트 ],

[ 혼합형 데이터 리스트 ] 들을 볼 수가있습니다.

 

리스트는 참고로 정말 많이 쓰이고 있습니다.

하나하나 살펴보도록 하겠습니다.

 

첫 번째 빨간 네모 :

 

 [ 빈 리스트 ]를 선언한 부분입니다.

그 밑으로는 type() 함수를 이용하여, '리스트 형'이라는 것을 확인했습니다.

출력은 print() 함수를 이용합니다.

 

두 번째 빨간 네모 :

 

 [ 숫자 데이터 리스트 ]를 선언한 부분입니다.

그 밑으로는 print() 함수를 사용하여, 출력을 하였습니다.

 

세 번째 빨간 네모 :

 

 [ 문자 데이터 리스트 ]를 선언한 부분입니다.

그 밑으로 type(str_list [0])) 을 보면은 리스트 안의 데이터의 타입을 확인한 것입니다.

즉 'a'라는 데이터는 str 형이라는 의미입니다.

 

네 번째 빨간 네모 :

 

 [ 문자열 데이터 리스트 ]를 선언한 부분입니다.

그 밑으로는 type(string_list[0]) str 형이라는 의미입니다.

 

다섯 번째 빨간 네모 :

 

 [ 혼합형 데이터 리스트 ]를 선언한 부분입니다.

그 밑으로 보시면은 [ for문 ]이라는 문법적인 요소와 함께 쓰이고 있습니다.

이런 식으로 정말 많이 쓰이고 있습니다.

 

정말 중요합니다. 이것을 여러 번 연습하셔야 편리하게 사용할 수 있습니다.

 

for element ( 변수 A ) in mixed_list ( 리스트 변수) :

   print('element :', element ( 변수A ), ' type :', type(element))

 

(변수 A)는 바로 정하는 변수입니다. ( 리스트 변수 )는 자신이 만들었던 리스트 변수입니다.

mixed_list 의 데이터는  1, 10.1, 'a', 'python'  입니다.

for element in mixed_list :

해석 : 혼합형 리스트 안에 있는 요소를 건드릴 것입니다.

 

   print('element :', element, ' type :', type(element))

해석 : 요소 출력 요소 타입 출력입니다.

 

여러 가지 예시입니다.

 

예시 1>

숫자들 리스트의 for문을 이용한 출력 

 

 

print() 함수를 이용하여, num_list 안의 데이터를 한 번씩 출력하면서, Enter를 입력한 것과 같이 됩니다.

 

예시 2> 

문자 리스트의 for문을 이용한 출력

 

 

이 정도면 충분한 예시인 듯합니다.

 

결론 :

 리스트 안의 데이터로는 '어떠한 타입' 이든 데이터로 들어갈 수 있다.

 

aw = ['Aligned', 'with', ',opening', 'delimiter']
print(aw[0]) # Aligned
print(aw[3]) # delimiter
print(aw[1:3]) # ['with', ',opening']
print(type(aw)) # list
print(type(aw[0])) # str
print(type(aw[1:3])) # list

aw라는 변수에 리스트입니다.

 

오프셋으로 하나씩 결과를 얻기도 합니다.

ex> aw[0] # type str

 

만약에 값이 정수였으면, int라고 되어있었을 겁니다.

 

슬라이스로 추출도 가능합니다
ex> aw[1:3] # type list

 

# create
aw = ['Aligned', 'with', ',opening', 'delimiter']

# read
print(aw) # ['Aligned', 'with', ',opening', 'delimiter']

# append , similar push
aw.append('.')
print(aw) # ['Aligned', 'with', ',opening', 'delimiter', '.']

# insert
aw.insert(1,'Umm')
print(aw) # ['Aligned', 'Umm', 'with', ',opening', 'delimiter', '.']

# delete
aw.remove('Umm')

# del aw[1]
print(aw) # ['Aligned', 'with', ',opening', 'delimiter', '.']

# update
aw[4] = 'Wow'
print(aw) # ['Aligned', 'with', ',opening', 'delimiter', 'Wow']

리스트는

생성, 읽기, 추가, 삽입, 삭제, 변경이 가능합니다.

 

리스트 생성은 계속 봤고요.

ex > aw = ['Aligned', 'with', ',opening', 'delimiter']

 

리스트 읽기

ex. > print(aw)

 

리스트 추가하기

ex > aw.append('.')

 

리스트 삽입하기

ex > aw.insert(1,'Umm')

aw[1] 자리에 'Umm'을 집어넣는 것입니다.

 

리스트 삭제하기

ex > aw.remove('Umm')   또는  del aw[1]

둘 중 하나를 이용하시면 삭제가 가능합니다.

 

리스트 변경하기

ex > aw[4] = 'Wow'

 

list_ex = list('computer')
print(list_ex) # ['c', 'o', 'm', 'p', 'u', 't', 'e', 'r']

now_time = '2020/08/20/10/30/10'
print(type(now_time)) # <class 'str'>
print(now_time) # 2020/08/20/10/30/10
no_time = now_time.split('/')
print(type(no_time)) <class 'list'>
print(no_time) # ['2020', '08', '20', '10', '30', '10']

 

str (문자열) 일 경우에 바로 list 형으로 바꿀 수 있습니다.

[중요]

split('/')이라는 함수를 통해서 '/'를 기점으로 문자들을 리스트화 할 수 있습니다.

 

ex_string = 'Aligned with opening delimiter'
print(type(ex_string)) # <class 'str'>
print(ex_string) # Aligned with opening delimiter
aw = ex_string.split(' ')
print(type(aw)) # <class 'list'>
print(aw) # ['Aligned', 'with', 'opening', 'delimiter']

print('with' in aw ) # True
print('in' in aw) # False
print(aw.count('with')) # 1

 

이제 문자열로 이루어진 ex_string 을 split(' ')이라는 함수를 통해서

리스트로 변경되는 과정입니다.

 

밑에 in이라는 예약어를 통해서 boolean 값인 True와 False 값을 출력해 줄 수 있습니다.

count는 안에 어떠한 리스트 값들이 있는지를 세어 줍니다.

 

 

요약

리스트 안의 내용물은 어떠한 값이라도 들어갈 수 있습니다.

리스트는 생성, 삽입, 추가, 변경, 삭제 가 가능합니다.

문자열에서 리스트로 함수를 통해서 가능합니다. ex> list, split

 

반응형

+ Recent posts