반응형

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