프로그래밍/Python

Python-17) list append, insert, del, remove, len, count : 리스트 객체 메소드, 리스트 메소드, 파이썬 마스터

LeeSeunghyuk 2020. 12. 21. 11:31
반응형

 

안녕하세요.

 

이번 시간에도 이어서 리스트 객체의 메소드를 활용한 실습을 진행하도록 하겠습니다.

 

- 실습 요약

append : 요소 추가하기

insert : 특정 위치에 요소 삽입하기

pop : 특정 위치의 요소 빼내기

del : 특정 위치(구간)의 요소 제거하기 , 리스트 제거하기

remove : 특정 요소 제거하기

len : 요소 개수 구하기

count : 특정 요소 개수 구하기

sort : 리스트 요소 정렬하기

sorted : 리스트 요소 정렬하기

shuffle : 요소 무작위 섞기

enumerate : 요소를 (인덱스,쌍)으로 추출하기

sum : 모든 요소의 합 구하기

all,any : 요소의 참 확인하기


 

※ list.append 

 

     리스트 객체의 메소드 append는 지정 값을 리스트의 맨 마지막 요소로 추가합니다.

listdata=['a','b','d','e']
print(listdata)
listdata.append('f')
print(listdata)

   for 문 , 다른 리스트 등을 활용해서 새로운 리스트를 만들 수 있습니다.

listdata=['a','b','d','e']
listdata2=['ㄱ','ㄴ','ㄷ','ㄹ']
listdata.append(listdata2)
print(listdata)
for i in range(10):
    listdata.append(i)
print(listdata)


※ list.insert

 

     리스트 객체의 lnsert 메소드는 특정 위치에 새로운 요소를 끼워 넣습니다.

listdata=['a','b','d','e']
listdata.insert(2,'c')
print(listdata)

     insert( 끼워넣을 index,  요소 ) 의 형태로 코드를 작성하면 

     listdata의 2번 인덱스였던 'd' 요소가 3번으로 이동되고,

     새로운 요소인 'c'가 새로운 2번 인덱스의 요소가 됩니다.


 

※ list.pop

 

     리스트 객체의 insert 메소드와 반대되는 pop 메소드는 특정 위치의 요소를 빼냅니다

listdata=['a','b','c','d','e']
listdata.pop(2)
print(listdata)

.     pop 메서드를 사용해 2번 인덱스인 'c' 요소를 빼냅니다.

     3번 인덱스였던 'd' 요소는 이제 2번 인덱스가 됩니다.

 

     제거 메소드와 다른점은 빼낸 원소를 따로 변수에 넣어 사용할 수 있습니다.

listdata=['a','b','c','d','e']
idx2=listdata.pop(2)
print(idx2)


※ del list

 

     특정 위치의 요소를 제거할 수 있습니다.

listdata=['a','b','c','d','e']
del listdata[2]
print(listdata)

listdata=['a','b','c','d','e']
del listdata[0:3]
print(listdata)

listdata=['a','b','c','d','e']
del listdata
print(listdata)

 

     특정 인덱스를 지정하여 하나의 요소를 제거할 수 있고,

     특정 구간을 지정하여 해당 구간의 요소를 모두 제거할 수 있습니다.

     또한 아무것도 지정하지 않으면 리스트 자체를 제거할 수 있습니다.


※ list.remove 

 

     리스트 객체의 remove 메소드를 이용해서 특정한 요소를 제거할 수 있습니다.

listdata=['a','b','c','d','e']
listdata.remove('a')
print(listdata)


※ len

 

     문자열의 구성 원소 개수를 출력해주는 내장함수 len을 사용해서 리스트의 크기(구성 요소 개수)를 구할 수 있습니다.

     이 때, 공백 문자도 리스트를 구성하는 요소이므로 당연히 포함합니다.

listdata=['a','b','c','d','e','']
print(len(listdata))


※ list.count

 

     리스트 객체의 메소드 count는 리스트를 이루는 특정 요소의 개수를 리턴합니다.

listdata=['a','b','','c','d','e','']
print(listdata.count(''))

 

     리스트 내 공백 데이터의 개수는 2개임을 확인할 수 있습니다.


 

※ list.sort

 

     리스트 객체의 메서드 sort를 사용해 요소를 정렬할 수 있습니다.

     내림차순으로 정렬하기 위해서는 reverse=True 인자를 사용합니다.

listdata=['g','s','e','s','z','w','u','c']
listdata.sort()
print(listdata)
listdata.sort(reverse=True)
print(listdata)

    리스트를 구성하는 요소들이 오름차순, 내림차순으로 정렬되었음을 확인했습니다.

 


※ sorted

 

     원본 리스트의 내용은 변경하지 않고, 정렬된 결과만 확인하기 위해서

     파이썬 내장함수 sorted를 사용합니다.

     sort메소드와 마찬가지로 내림차순 정렬은 reverse=True 인자를 사용합니다.

listdata=['g','s','e','s','z','w','u','c']
result1=sorted(listdata)
print(result1)
result2=sorted(listdata,reverse=True)
print(result2)
print(listdata)

 

     sorted 함수를 사용하면 원본 리스트는 변경되지 않는 것을 확인 했습니다.


※ shuffle

 

     파이썬 기본 모듈 random이 제공하는 shuffle 기능을 사용하여 요소를 무작위로 섞습니다.

from random import shuffle
listdata=['a','b','c','d','e','f','g']
for i in range(5):
    shuffle(listdata)
    print(listdata)

 

     for문을 사용해 기본 리스트를 shuffle한 결과를 5번 확인해봤습니다.

 

※ enumerate

 

     파이썬 내장함수 enumerate는 리스트를 인덱스 & 요소 쌍으로 출력할 수 있게 합니다.

listdata=['a','b','c','d','e','f','g']
result=list(enumerate(listdata))
print(result)

for idx,alpha in result:
    print('인덱스 : %s 요소 : %s'%(idx,alpha))

     enumerate 함수를 사용하면 enumerate객체로 반환이 됩니다.

     list로 형변환 작업을 해준 후, 결과를 확인했습니다.

     for문을 사용해서 인덱스와 요소를 각각 출력해 보았습니다.

 

     for문에 바로 enumerate 함수를 적용할 수도 있습니다.

 

    for문에 사용할 반복 인자를 2개를 지정(index,alpha) 해준 후 iterable 객체는 enumerate객체로

   사용하여 인덱스와 요소를 출력해 보았습니다.

 


※ sum

 

     파이썬 내장함수 sum을 사용해 list의 구성 요소의 합을 구합니다.

     숫자가 아닌 요소가 포함되어 있다면 TypeError 오류 발생합니다.

listdata=[0,1,2,3,4,5,6,7,8,9]
print(sum(listdata))


※ all, any 

 

     리스트의 모든 요소가 참, 모든요소가 거짓 인지 판단하는 경우 내장함수

     all , any를 사용하여 확인합니다.

 

     all - 모든 요소가 참인 경우에만 True를 리턴

           거짓 요소가 하나라도 있으면 False를 리턴

     any - 모든 요소가 거짓일 경우에만 False를 리턴

            하나라도 참인 경우 True 리턴

 

     둘 중 하나만 외워서 편하게 사용하도록 합니다.

 

     파이썬의 참, 거짓 -> True, False

     다음 요소는 모두 거짓을 의미합니다.

 

     - 숫자 0

     - 빈 문자열 : '', ""

     - 빈 리스트 : []

     - 빈 튜플 : ()

     - 빈 사전 : {}

     - None

list1=[0,1,2,3,4]
list2=[True,True,True]
list3=['',"",(),[],None]
list4=['',1,""]
print(all(list1))
print(all(list2))
print(any(list3))
print(any(list4))

 

이번 시간을 마지막으로 리스트 객체의 메서드를 다루는 시간은 끝났습니다.

 

도움이 되셨으면 좋겠습니다. 

읽어주셔서 감사합니다.

 

반응형