반응형

리스트( 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

 

반응형
반응형

자료형에는 숫자, 문자, 문자열이 있습니다.

저번시간에는

2020/07/18 - [python] - [파이썬 자료형] 숫자형 문자형 다루기

를 보았었습니다.

 

지금 우리는 여기에서 문자열을 다루는 강좌입니다.

 

[ 문자열 다루기 ]

 

first_string = 'some ' # 1
second_string = 'others ' # 2 
third_string = 'good ' # 3

# 1+2
result_string = first_string + second_string
print(result_string)

# 1+3
result_string = first_string + third_string
print(result_string)

# 2+3
result_string = second_string + third_string
print(result_string)

 

첫 번째 빨간색 네모 :

변수에 문자열을 할당하였습니다.

 

두 번째 빨간색 네모:

와 같은 방식으로 두 문자열을 합하여 result_string에 대입 하였습니다.

 

세 번째 빨간색 네모:

와 같이 출력값들을 보실 수 있습니다.

[ 이스케이프 문자 ]

 

\n    개행

\t    탭

\r    캐리지 리턴

\0    널

\\    \문자

\'     단일 인용부호

\"     다중 인용부호

 

print('hello\n my name is Umm\t PC  \r \0')
print('hello\n\"nice to meet you.\"Umm \\')

이스케이프 문자를 이용한 사례이기는 합니다. 

많이 쓰이는 것은 \t \n 정도 이기는 합니다.

 

# 타입을 변환하는것이 가능합니다.

int_val = 13
print('int_val type is', type(int_val))
# int_val type is <class 'int'>

str_val = str(int_val)
print('int_val changed type is',type(str_val))
# int_val changed type is <class 'str'>

 

[int_val](변수) 의 타입은 int 타입입니다.

int_val 의 타입은 str() 함수를 이용하여 int_val의 타입을 변형하여, str 타입로 변경을 하였습니다.

int 형은 str의 형과 합쳐지는 것이 어려워서 형 변환을 해 주어야 합니다.

 

explane = \
'Copyright (C) Microsoft Corporation. All rights reserved.'
print(explane)

# type(class)를 확인하는 함수
print(type(explane)) # <class 'str'>

# 글자수 세는 함수는 len
print(len(explane)) # 57개

# 문자열 인덱스(오프셋)
# 문자열에서 문자를 인덱스로 추출이 가능합니다
print(explane[0]) # C
print(explane[50]) # s

# 문자열에서 문자열속에 있는 문자열 또한 추출이 가능합니다
print(explane[0:10]) # Copyright
print(explane[10:14]) # (C)
print(explane[-9:-1]) # reserve

 

문자열 인덱스 :

 색인이라는 뜻이 있습니다. 컴퓨터는 거의 언제나 0을 처음으로 인식하는 경우가 많습니다.

그래서 인덱스 0은 처음을 뜻하게 됩니다.

빨간색 네모들을 보시면 알 수가 있습니다.

 

설명을 다시 하겠습니다.

 

첫 번째 네모:

'explane' 이라는 변수를 지정하여 

'Copyright (C) Microsoft Corporation. All rights reserved.' 라는 문자열을 대입하였습니다.

 

두 번째 네모:

type() 함수를 이용하여 explane 의 타입을 확인하였습니다.

str 이라는 문자열이라고 결과를 보여주고 있습니다.

 

세 번째 네모:

len() 함수를 이용하여 explane 의 문자개수를 알려줍니다.

총 57개라고 합니다.

 

네 번째 네모 :

explane의 변수에 [  ]을 이용하니 신기하게도 문자나 문자열을 추출할 수 있게 되었습니다.

양수, 음수 둘 다 가능합니다.

 

반응형
반응형

 

대화식 프로그래밍 언어 라고도 할 수 있습니다.

말 그대로 프로그램으로 컴퓨터와 대화하는 방식 이라는 것입니다.

[명령 프롬프트] (명령 프롬프트 띄우는 방법)에서

[ python ] 을 입력하고, Enter 를 눌러줍니다

.

여기에서 그다음에는 바로 연산을 해보시면 알 수가 있습니다.

사진의 결과를 설명하겠습니다.

 

#은 [주석]이라는 것입니다.

주석:

코딩을 하여도 현 상황의 프로그램에 영향을 주지는 않지만

코딩의 설명을 돕기 위해 [필수]적으로 쓰이는 것입니다.

 

그 밑으로는 일반적인 산술에 쓰이는 기호를 볼 수가 있습니다

특별하게는 [**]은 제곱을 나타내고 있습니다.

본격적으로 [숫자]와 [문자]에 대해서 다루어 보겠습니다.

우리는 산술 연산자라는 말이 낯설 수 있으나, 간단하게 계산이라고 표현할 수 있습니다.

위에서 검은색 화면에서도 보았듯이 계산은 잘 됩니다.

직접 해보시고 안되시면 댓글 남겨주시면 됩니다.

 

실습에 필요한 간단한 함수를 보여드리겠습니다.

밑에 사진은 vscode 프로그램을 이용하여 캡처를 하였습니다.

[ 터미널을 이용한 파이썬 파일 실행방법 ] 

 

print('hello world!')

 

터미널

python prac_01.py

hello world!

 

[ 버튼을 이용한 실행 방법 ]

 

 

 


 

위 사진을 보시면 아시겠지만, 오른쪽 위 부분의 초록색 화살표를 누르시면

터미널 창의 파란색 네모 안의 파이썬 파일의 경로를 스스로 입력을 하고 결과값까지

출력을 보여주고 있습니다.

 


 

위를 보시면은 어떻게 [vscode]를 이용하여 코딩하시는지 확인이 되셨을 겁니다.

 

python 3.0부터 print에 ()을 사용합니다

print()는 결괏값들을 눈에 보이게 도와주는 함수입니다

위의 코드를 보시다시피 hello world를 출력하고 있습니다.

 

그다음으로는 본격적인

숫자와 문자 다루기 강좌를 시작하겠습니다.

 

[ 숫자 문자 다루기 ]

 

a = 10              
b = 10.123456       
c = 'char'

print('a = ',a,'type =',type(a)) # int
print('b = ',b,'type =',type(b)) # float
print('c = ',c,'type =',type(c)) # str

 

첫 번째 빨간색 네모 :

 

a, b, c 는 변수입니다.

변수의 이름은 임의로 정할 수 있습니다.

가독성을 위해서 규칙들이

pep8.org 라는 사이트에서 볼 수 있습니다.

 

두 번째 빨간색 네모 :

 

는 type() 함수라고 합니다.

()(괄호) 안에 변수나 상수를 넣으면 어떠한 형(클래스)인지를 확인이 가능합니다.

 

세 번째 빨간색 네모 :

 

는 두 번째 빨간색 네모의 결과들입니다.

class int, class float, class str이 있습니다.

a는 정수형  : int

b는 실수형 : float

c는 문자열 : str

 



각각의 형 변환에 대한 결과입니다.

 

참고로 다른 언어와는 다르게 long이라는 형 변환은 python에서는 없습니다.

그리하여 int의 제한이 없습니다.

테스트로 10**100 이렇게 결과를 기다리면 상당히 큰 수를 볼 수가 있는데요

제한이 없습니다.

 

[변수명]변수명을 지을 때는 예약어를 지정할 수는 없습니다.

예약어: (예약어는 정해져있는 기능이 있는 문자들입니다.)

우리가 알고있는 예약어로는 print, type 이 있습니다

 

예약어:

class, as assert break continue else

elif if finally for from global 등

 사용할 수 없습니다.

숫자는 앞에 오지 않습니다.

_(언더바)를 섞어서도 가능합니다.

 

참고로 PEP8 스타일을 참고하시면 더욱 좋습니다.

[주석]

# 을 사용하면 됩니다.

vscode 단축키는 ctrl + /입니다. 정말 많이 쓰이네요

""" """멀티 주석 라인은 " '을 연달아 3개씩 처음 시작과 마지막에 적어주시면 가능합니다.

 

 

요약

 

-파이썬은 대화형 프로그래밍 언어이다.

-일반 프로그래밍과는 다르게 int형의 제한이 없다.

-변수명은 앞에 숫자가 오면 안 된다.

-PEP8 스타일은 정말 중요합니다. (가독성 UP)

-주석은 #과 ''' '''을 사용합니다.

 

 

반응형

+ Recent posts